Method and apparatus for optimizing response time to events in queue

ABSTRACT

A system for optimizing response time to events or representations thereof waiting in a queue has a first server having access to the queue; a software application running on the first server; and a second server accessible from the first server, the second server containing rules governing the optimization. In a preferred embodiment, the software application at least periodically accesses the queue and parses certain ones of events or tokens in the queue and compares the parsed results against rules accessed from the second server in order to determine a measure of disposal time for each parsed event wherein if the determined measure is sufficiently low for one or more of the parsed events, those one or more events are modified to a reflect a higher priority state than originally assigned enabling faster treatment of those events resulting in relief from those events to the queue system load.

CROSS-REFERENCE TO RELATED DOCUMENTS

The present invention is a continuation in part (CIP) to a U.S. patentapplication Ser. No. 10/229,514 entitled “Method and Apparatus forAnticipating and Planning Communication-Center Resources Based onEvaluation of Events Waiting in a Communication Center Master Queue”filed on Aug. 27, 2002, which is a CIP to a U.S. patent application Ser.No. 09/766,271 entitled “Personal Interaction Interface forCommunication-Center Customers” filed on Jan. 18, 2001, which is a CIPto a U.S. patent application Ser. No. 09/710,042 entitled “System forimproved reporting of communication center presence information toprospective clients”, filed on Nov. 8, 2000, disclosures of which areincorporated herein in their entirety by reference.

FIELD OF THE INVENTION

The present invention is in the general field of multimediacommunications including telephony. The present invention has particularapplication to methods and apparatus for optimizing response time forevents waiting in a communication center real or virtual queue byinteracting directly with the queue and assigning or modifying priorityassignments to events according to a calculated estimated disposal time(EDT).

BACKGROUND OF THE INVENTION

In the field of telephony communication, there have been manyimprovements in technology over the years that have contributed to moreefficient use of telephone communication within hosted call-centerenvironments. Most of these improvements involve integrating thetelephones and switching systems in such call centers with computerhardware and software adapted for, among other things, better routing oftelephone calls, faster delivery of telephone calls and associatedinformation, and improved service with regard to client satisfaction.Such computer-enhanced telephony is known in the art ascomputer-telephony integration (CTI).

Generally speaking, CTI implementations of various design and purposeare implemented both within individual call-centers and, in some cases,at the telephone network level. For example, processors running CTIsoftware applications may be linked to telephone switches, servicecontrol points (SCP), and network entry points within a public orprivate telephone network. At the call-center level, CTI-enhancedprocessors, data servers, transaction servers, and the like, are linkedto telephone switches and, in some cases, to similar CTI hardware at thenetwork level, often by a dedicated digital link. CTI processors andother hardware within a call-center are commonly referred to as customerpremises equipment (CPE). It is the CTI processor and applicationsoftware is such centers that provides computer enhancement to a callcenter.

In a CTI-enhanced call center, telephones at agent stations areconnected to a central telephony switching apparatus, such as anautomatic call distributor (ACD) switch or a private branch exchange(PBX). The agent stations may also be equipped with computer terminalssuch as personal computer/video display units (PC/VDU) so that agentsmanning such stations may have access to stored data as well as beinglinked to incoming callers by telephone equipment. Such stations may beinterconnected through the PC VDU by a local area network (LAN). One ormore data or transaction servers may also be connected to the LAN thatinterconnects agent stations. The LAN is, in turn, typically connectedto the CTI processor, which is connected to the call switching apparatusof the call center.

In recent years, advances in computer technology, telephony equipment,and infrastructure have provided many opportunities for improvingtelephone service in publicly switched and private telephone intelligentnetworks. Similarly, development of a separate information and datanetwork known as the Internet, together with advances in computerhardware and software have led to a new multimedia telephone systemknown in the art by several names. In this new systemology, telephonecalls are simulated by multimedia computer equipment, and data, such asaudio data, is transmitted over data networks as data packets. In thissystem the broad term used to describe such computer-simulated telephonyis Data Network Telephony (DNT).

Recent improvements to available technologies associated with thetransmission and reception of data packets during real-time DNTcommunication have enabled companies to successfully add DNT,principally IPNT capabilities to existing CTI call centers. Suchimprovements, as described herein and known-to the inventor, includemethods for guaranteeing available bandwidth or quality of service (QOS)for a transaction, improved mechanisms for organizing, coding,compressing, and carrying data more efficiently using less bandwidth,and methods and apparatus for intelligently replacing lost data viausing voice supplementation methods and enhanced buffering capabilities.

In addition to Internet protocol (IPNT) calls, a DNT center may alsoshare other forms of media with customers accessing the system throughtheir computers. E-mails, video mails, fax, file share, file transfer,video calls, and so forth are some of the other forms of media, whichmay be used. This capability of handling varied media leads to the termmultimedia communications center. A multimedia communications center maybe a combination CTI and DNT center, or may be a DNT center capable ofreceiving COST calls and converting them to a digital DNT format. Theterm communication center will replace the term call center hereinafterin this specification when referring to multi-media capabilities.

In systems known to the inventors, incoming IPNT calls are processed androuted within an IPNT-capable communication center in much the same wayas COST calls are routed in a CTI-enhanced call-center, using similar oridentical routing rules, waiting queues, and so on, aside from the factthat there are two separate networks involved. Communication centershaving both CTI and IPNT capability utilize LAN-connected agent-stationswith each station having a telephony-switch-connected headset or phone,and a PC connected, in most cases via LAN, to the network carrying theIPNT calls. Therefore, in most cases, IPNT calls are routed to theagent's PC while conventional telephony calls are routed to the agent'sconventional telephone or headset.

A network-based system known to the inventor enables users of the systemto obtain current agent-status information related to agents of aninformation-source facility connected to the network before initiatingcontact with the agent or agents of the information-source facility. Thesystem comprises a status-server node connected to theinformation-source facility (communication center) and to the network,an interface-server node connected to the status node and to thenetwork, the status-server node accessible to the interface node, auser-operated network-capable appliance connected to the network, theinterface node accessible to the network-capable appliance, and asoftware application distributed on at least the status and interfaceserver nodes, the software application enabling distribution of theagent-status information to the user-operated appliance. In someembodiments the system uses IMPP-IETF RFC 2778 protocol.

The user operating the network-capable appliance connects to the networkand accesses the interfacing server node and requests the agent-statusinformation, the agent-status information is then accessed from thestatus server node connected to the communication center by theinterfacing server node and delivered to the requesting user over theoperating network. Such a system saves phone costs for customers and/oragents as well as reduces utilization requirements ofcommunication-center interface technologies such as IVR technology.

The network-based system described above can, in one aspect, enablecommunication center agents using the system to obtain current statusinformation related to clients of an information-source facilityconnected to the network in order to optimize callback connectionsuccess from the agents to the monitored clients. The capability isincorporated as an enhancement to the system providing agent statusinformation to clients as described further above.

The system comprises a status-server node connected to theinformation-source facility (communication center) and to the network,an interface server node connected to the status node and to thenetwork, the interface node accessible to the status server node, auser-operated network-capable appliance connected to the network, theinterface node accessible to the network-capable appliance, and asoftware application distributed on at least the status and interfaceserver nodes, the software application enabling distribution of theclient-status information to the agent-operated appliance.

An agent operating the network-capable appliance monitors the networkand accesses the status server node and requests the client-statusinformation, the client-status information is then accessed from theinterface server node by the status server node and delivered to therequesting agent over the operating network. Such a system saves agenttime and communication costs and reduces utilization requirements forcommunication center interface technologies by automatically providingagents with client real-time activity prior to initiation of servicecontact.

The above-described system uses a presence protocol such as IMMP-IETFRFC 2778 in order to communicate both the agent status information to arequesting client and to communicate active client status to arequesting agent. In some cases, a third party providing a hostingserver within the operating network, which in that case would be theInternet network, hosts the system.

According to another aspect of the above-described system, anapplication is provided for enabling a client to interact withcommunication-center resources using IMPP. The application has aninteractive client interface component operable by the client forposting client data and for receiving and displaying agent andinteraction data from the communication center, a brokering componentfor managing client and communication center data and communication, anda status monitoring and reporting component for monitoring and reportingcommunication center and client status. The application is characterizedin that a client using the user interface is enabled to access and altercommunication center data, and also to initiate live interaction withthe communication center.

While presence information is flexible and useful for reportinginformation about agents to clients and about clients to agents, it hasoccurred to the inventors that there also exists an opportunity forusing such a presence protocol for managing the communication to centeritself in terms of internal policy, member-to-member communicationwithin the center whether agent-to-agent, machine-to-machine,agent-to-machine, or machine-to-agent.

A presence monitoring and reporting application is known to theinventors and is used in a multimedia communication-center environmentto report presence information of networked entities in real time. Theapplication includes a software agent for generating a presenceinformation model; a data store for storing presence information tuples;and a monitor for detecting presence information updates and forsynchronizing the updates with information in the data store. In apreferred embodiment the application is deployed and integrated to acommunication center infrastructure wherein any given one or more of theentities may singularly or in plural spawn one or more agents whereuponthe agents each spawn a container that is populated with currenttargeted presence and state information in most recent updated form andwherein the updates are synchronized with data in the data store.

It is known to the inventors that multimedia communication centers workwith a wide variety of differing media types and in many instances tendto separate those media types into separate queues for managementreasons. For example, COST calls and IPNT calls may occupy separatequeues as may e-mail and other media events. In more modern IPNT-capablecenters, the concept of virtual queuing has recently been implemented insystems known to the inventor, but necessarily prior art at the time ofthis application. Virtual queuing is a concept of tokenizing informationabout media events waiting in real queues and processing those events(usually mixed) from the virtual queue by priority of event and othercriteria.

It has occurred to the inventors that using presence reporting betweencommunication-center entities can change the way queue information ismonitored as well as the way information in the queue is processed withregard to notification of other human and machine entities involved inthe processing and with regard to planning resources.

The inventor knows of a software application for recommending workforceresource allocation in a communication center based on requirements ofevents represented in a communication-center queue. The softwareapplication is deployed on a system that has a first interface foraccessing information from the queue; a second interface for accessinginformation from a data source about workforce availability and stateinformation; a processing component for processing queue information andworkforce information; and a message generation and delivery componentfor generating a workforce allocation recommendation based on processingresults and sending the recommendation to a target entity.

In a preferred embodiment, the application periodically accesses thequeue and the data source to obtain the most recent information forprocessing, and generates periodic recommendations based on real-timerequirements of events and availability states of resources, therecommendations are sent ahead of time before the resources arerequired.

The inventor knows of prioritized queuing systems both real and virtualas well as several methods for determining queue requirements andallocation or making available resources to fill those requirements.Prioritization criteria for events waiting can be based on clientimportance, resource availability, skill-level, predictive resourceavailability, time in queue, and so on.

It has occurred to the inventor that the known methods and criteria forpracticing those methods do not particularly address an importantproblem. For example, priority of event routing of incoming eventswaiting in existing event-queue systems is typically based on skilllevel required for processing, client importance, or some combination ofthese and other criteria. However, messaging queues in such a systemoften have a persistent latency in handling because although somemessages could be quickly processed, they are so low in the priorityscheme that they are not attended to for an unreasonable period of time.

What is clearly needed are methods and apparatus for optimizing responsetime for events waiting in a communication center real or virtual queueby interacting directly with the queue and assigning or modifyingpriority assignments to events according to a calculated estimateddisposal time (EDT). Such a system would function to minimize oreliminate persistent queue latency and provide for better resourceplanning.

SUMMARY OF THE INVENTION

In a preferred embodiment of the present invention a system foroptimizing response time to events or representations thereof waiting ina queue by predicting an estimated disposal time for certain ones ofthose events is provided, comprising a first server having access to thequeue, a software application running on the first server, and a secondserver accessible from the first server, the second server containingrules governing the optimization. The system is characterized in thatthe software application at least periodically accesses the queue andparses certain ones of events or tokens thereof contained therein at thetime of access and compares the parsed results against rules accessedfrom the second server in order to determine a measure of disposal timefor each parsed event and wherein if the determined measure issufficiently low for one or more of the parsed events, those one or moreevents are modified to a reflect a higher priority state than originallyassigned, or promoted directly out of queue, enabling faster treatmentof those events resulting in relief from those events to the queuesystem load.

In some preferred embodiments the first server is a work forcemanagement and planning server enhanced with the addition of thesoftware application. Also in some preferred embodiments the queue is avirtual message queue for a communication center. In still otherpreferred embodiments the queue is a telephony queue. In someembodiments the software application includes at least one parsingengine for parsing events, and in some other embodiments the softwareapplication includes at least one additional interface to a historicaldata repository.

In some embodiments the rules governing the optimization process includerules for generation of token events that represent real events. Inother embodiments the data parsed includes event type, event status inqueue, event routing information, and event origination information. Inyet other embodiments the data parsed includes event type, event statusin queue, event routing information, event origination information, andevent purpose information. In still other embodiments the data parsedfurther includes event content or a portion thereof.

In still other embodiments of this system the data parsed furtherincludes event content or a portion thereof, and in others an originalpriority status assignment of low below a certain threshold to an eventor representation thereof causes the event to be parsed. In other casesthe measure of disposal time determined is an estimate based on knownprocedure for handling the event, and in yet other cases the measure ofdisposal time determined is an estimate based on historical averaging ofprevious measurements for the same originator of an event of a sametype. In yet other cases events that are modified to reflect a higherpriority state are immediately promoted from the queue to an appropriatefinal destination queue. In still other cases events that are modifiedto reflect a higher priority state are immediately routed to their finaldestinations. In yet other cases a measure of disposal time is takencollectively for a number of events of a same media type and summed asone disposal time for the sum of events or representations thereofconsidered, the sum compared to available resource load before prioritystate modification to determine if those resources will be unreasonabletaxed.

In another aspect of the present invention a software application foroptimizing response time to events or representations thereof waiting ina queue by predicting an estimated disposal time for certain ones ofthose events is provided, comprising at least one module for determiningevent type and event state of events or representations thereof, atleast one parsing engine for parsing event or represented event data, acalculator for weighing parsed results against pre-set rules, and anevent modification module for changing event or represented event state.The application is characterized in that selected events orrepresentations thereof are modified to reflect a higher priority stateand, in some cases, different routing rules, including direct promotionfrom queue, than those originally assigned to those events due to adetermination made that those selected events have a sufficiently highprobability of efficient disposal in the system according to anestimated time of disposal for each event or representation thereof.

In some preferred embodiments of the application the queue is a virtualmessage queue for a communication center. In other preferred embodimentsthe queue is a telephony queue. In yet other preferred embodiments theat least one parsing engine parses event type, event state, and eventcontent. In still other embodiments the application further includes atleast one interface to a historical data repository. In still otherembodiments the data parsed includes event routing information, andevent origination information, and in yet others the data parsedincludes event purpose information and event content or a portionthereof.

In yet other embodiments of the software application the criteria forevent selection is all events or representations thereof having a lowpriority assignment valued below a certain priority threshold. In yetother embodiments the measure of disposal time determined is an estimatebased on known procedure for handling the event. In still otherembodiments the measure of disposal time determined is an estimate basedon historical averaging of previous measurements for the same originatorof an event of a same type. In some cases events modified to reflect ahigher priority state are immediately promoted from the queue to anappropriate final destination queue, and in other cases events that aremodified to reflect a higher priority state are immediately routed totheir final destinations.

In still other embodiments of the application a measure of estimatedtime of disposal is taken collectively for a number of events of a samemedia type and summed as one estimated disposal time for the sum ofevents or representations thereof considered, the sum compared toavailable resource load before priority state modification to determineif those resources will be unreasonable taxed. In yet other embodimentsthe pre-set rules contain rules sets that are different for differentmedia types, and in others some of the rules for optimization governcontent to be included when generating token representation of realevents.

In another aspect of the invention a method for predicting an estimateddisposal time for an event waiting in a queue system comprising stepsof: (a) gaining software access to an event; (b) identifying the type ofevent and state information of the event; (c) weighing state informationagainst a set of rules; and (d) establishing a measure of disposal timefrom the results.

In some preferred embodiments of the method the queue is a virtualmultimedia message queue of a communication center. In other preferredembodiments the queue may be a real multimedia message queue of acommunication center. In still others the queue may be a telephonyqueue. In yet other embodiments of the method, in step (a), queue accessis made from an external machine connected thereto by network cable. Instill other embodiments, in step (b), the state information includespriority assignment status, time waiting in queue, event originationinformation, event destination information, event purpose information,and event routing information.

In still other embodiments of the method, in step (c), a scoring systemis used to derive values, scoring achieved using an algorithm, and inyet other embodiments, in step (d), the established measure is a derivedvalue equating to an amount of time. In some cases, in step (d), themeasure is derived from known processes times. In other cases, in step(d), the measure is derived from current state information after rulescomparison and augmented with a historical averaging of estimateddisposal times compiled for the same media type and originator.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

FIG. 1 is an overview of a communication network wherein reporting ofcommunication-center presence information is practiced according to anembodiment of the present invention.

FIG. 2 is a plan view of a client-side media-interface containing statusinformation according to an embodiment of the present invention.

FIG. 3 is a flow diagram illustrating client and system procedural stepsfor practicing communication-center presence reporting according to anembodiment of the present invention.

FIG. 4 is an overview of a communications network wherein agentmonitoring of client status is practiced according to an embodiment ofthe present invention.

FIG. 5 is a plan view of exemplary agent-side media-interfaces 99 and101 containing availability status and callback parameters according toan embodiment of the present invention.

FIG. 6 is a flow diagram illustrating agent and system procedural stepsfor observing customer status and call back preferences according to anembodiment of the present invention.

FIG. 7 is a flow diagram illustrating agent and system procedural stepsfor observing customer status and call back preferences according to anembodiment of the present invention.

FIG. 8 is an overview of a communications network wherein a personalinteraction-center system is utilized according to an embodiment of thepresent invention.

FIG. 9 is a plan view of an interactive user interface served by CIS 119of FIG. 7 according to an embodiment of the present invention.

FIG. 10 is an architectural overview of a communication center enhancedwith an IMP protocol according to an embodiment of the invention.

FIG. 11 is a block diagram illustrating function between software andhardware components of the system of the invention.

FIG. 12 is a block diagram illustrating a multimedia communicationcenter queuing and routing system according to an embodiment of thepresent invention.

FIG. 13 is a process flow diagram illustrating basic steps of queueprocessing and resource allocation according to an embodiment of theinvention.

FIG. 14 is a block diagram illustrating a multimedia communicationcenter queuing and routing system according to an embodiment of thepresent invention.

FIG. 15 is a process flow diagram illustrating steps for practice of thepresent invention utilizing a virtual queue.

FIG. 16 is a process flow diagram illustrating steps for practice of thepresent invention utilizing a real master queue.

FIG. 17 is a block diagram illustrating the pre-scan softwareapplication of FIG. 14 according to embodiments of the presentinvention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In accordance with a preferred embodiment of the present invention, theinventor provides a novel software-hardware driven system for improvingthe reporting of communication-center presence information toprospective communication-center clients. The method and apparatus ofthe present invention is described in enabling detail below.

FIG. 1 is an overview of a communication network 52 wherein reporting ofcommunication-center presence information is practiced according to anembodiment of the present invention. Communication network 52 comprises,in this example, a public-switched-telephone network (PSTN) 55, adata-packet-network (DPN) 61, a communication center 21, and anexemplary user 9.

PSTN 55, in this example, represents a preferred network connecting allconnection-oriented-switched-telephony (COST) clients who call intocommunication center 21 for the purpose of doing business with thecenter. In another embodiment, a private telephone network may beutilized in place of or in combination with PSTN 55. The inventorchooses PSTN 55 because of its high public-access characteristic.

A local telephony switch (LSW) 59 is illustrated within PSTN 55 andrepresents automated switching capability within the network. LSW 59 maybe an Automatic Call Distributor (ACD), a Public Branch Exchange (PBX),or any other type of telephony switching apparatus, in the broadestsense, including but not limited to DNT type switches/gateways as usedin VoIP etc. LSW 59 is enhanced for computer-telephony-integration (CTI)by a CTI processor 62 connected thereto by a CTI connection. LSW 59 andCTI processor 62 may encompass various communication functionalitiesmade available at network level by communication center 21. For example,an instance of CTI software known to the inventor and termed TransactionServer (TS) is provided within CTI processor 62 and adapted to enablecommunication-center 21 to certain call-switching and routing aspectsperformed by LSW 59. LSW 59 is connected to a central telephony switch(CSW) 53, illustrated within communication center 21, by a COSTtelephony trunk 57. CSW 53 may be any one of several types of callprocessing switches as previously described with respect to LSW 59above.

CSW 53 is enhanced by a CTI processor 65, which is connected thereto bya CTI connection as was described with reference to LSW 59. CTIprocessor 65 also has an instance of TS software provided therein andadapted to communicate with TS software of processor 62. Processors 62(network) and 65 (communication center) are connected by virtue of aseparate data network 64 enabling the above-described communicationbetween TS instances. By using network 64 to connect processor 62 and65, communication center 21 may, in addition to controlling callswitching and routing within PSTN 55, receive information about callersahead of actual calls arriving at CSW 53 for internal processing. Thisenhancement is known as double-dipping by the inventors.

DPN 61 is, in this example, the well-known Internet network and willhereinafter be termed Internet 61. Internet 61 facilitates allInternet-protocol (IP) callers reaching communication center 21 throughthe Internet. Internet 61 may instead be a private or corporate WideArea Network (WAN), or any other type of DPN as long as Internetcommunication protocols are supported. The inventor chooses Internet 61as a preferred network because of its high public-access characteristic.IP callers calling into communication center 21 may interface from anyInternet-connected server, which provides network access tocommunication center 21. Moreover, there may be many such serversdistributed throughout network 61, each server being a point of access.

Internet 61 has an Internet backbone 13 illustrated therein. Backbone 13represents all the lines, equipment, and connection points making up theInternet network as a whole, including sub networks. A Web Server (WS)15 is provided within Internet 61 and is connected to backbone 13. WS 15is adapted as an Internet file server as is known in the art. WS 15represents one of a possible plurality of distributedcustomer-interfacing servers as described above. WS 15 serves electronicinformation pages, termed Web pages in the art, to requesting users. WS15 is in this example hosted by the entity hosting communication center21 and is utilized as a customer-interfacing server.

WS 15 is enhanced with a software instance termed Web-Presence-Software(WPS) 16, which enables prospective customers of communication-center 21to view communication-center status related to agent availability for acall before deciding whether or not to actually place a call tocommunication center 21. More about WPS 16 is provided later in thisspecification.

An exemplary user, illustrated herein as a PC icon labeled with theelement number 9, is connected to Internet backbone 13 by virtue of anInternet connection-line 11. User 9 is assumed, in this example, to beaccessing WS 15 through standard Internet-connection capabilities as areknown in the art. Typically, user 9 would obtain access to WS 15 througha dial-up connection utilizing an Internet-service-provider (ISP) andPSTN 55. However, there are many other means which may be used to obtainan Internet session with WS 15, many of which may not require dialing,e.g. DSL, cable modems etc. User 9 may utilize some otherInternet-capable appliance than the PC illustrated herein. Likewise,connection line 11 may be a wireless link, a cable-modem connection, orany other known Internet connection means.

An instance of software termed Customer-Presence-Software (CPS) 10 isprovided to execute on customer-premise-equipment (CPE), which in thiscase is a PC operated by user 9. CPS 10 is adapted to integratecommunication-center status information into a customer's electronicinterface, which is typically an electronic-information-page (Web page)served to the customer by WS 15 upon the customer's request. CPS 10 isan optional implementation in this example and is described in moredetail later in this specification.

Communication center 21 has an Internet Protocol Router (IPR) 25illustrated therein and adapted to handle incoming communication eventssourced from WS 15 or any other interfacing Web server over networkconnection 19. IPR 25 routes incoming events to agent workstationsadapted to receive the events. Agent workstations 27, 29, and 31 areillustrated within communication center 21 and adapted forcommunication-center activity covering both IP and COST transactions.

Agent telephones 39 (workstation 27), 41 (workstation 29), and 37(workstation 31) are provided to handle COST communication events.Telephones 39, 41, and 37 are connected to CSW 53 by internal telephonywiring 45. Each agent workstation 27, 29, and 31 has a personalcomputer/video-display unit (PC/VDU) provided therein and adapted forhandling IP communication events and for receiving information aboutcallers calling from PSTN 55. These are PC/VDU 33, PC/VDU 35, and PC/VDU43 respectively.

PC/VDU's 39, 35, and 43 are connected to a Local-Area-Network (LAN) 23.LAN 23 is, in this case, enhanced for Internet communication. IPR 25 isconnected to LAN 23 and functions as an event router as previouslydescribed above. Other equipment may also be connected to LAN 23 such asa customer information server (CIS), a statistical server, and othercommunication-center systems and equipment not shown here but assumed tobe present. Processor 65 is connected to LAN 23 by a LAN connection 67.In this way, information about COST callers being handled at LSW 59 maybe routed over LAN 23 to destination PC/VDUs such as PC/VDU 35 instation 29 for example. Information about COST callers can also behandled by CSW 53 and routed over LAN 23 to destinations.

It will be apparent to one with skill in the art, that there may be manymore workstations manned by communication-center agents than areillustrated in this embodiment without departing from the spirit andscope of the present invention. Similarly, there may be many more CTIfunctions represented herein without departing from the spirit and scopeof the present invention. For example, IVR capability may be present atLSW 59, as well as at CSW 53. Automated systems such as automated faxsystems and e-mail systems may also be present. There are manypossibilities.

A status server 49 is provided within communication center 21 andadapted to monitor agent status and availability for receiving incomingcommunication events. Status server 49 is connected to LAN 23 by virtueof a LAN connection and monitors status at each workstation 27-31.Software used for this purpose is not illustrated in this embodiment,but may be assumed to be present and operational within server 49.Agents manning stations 27-31 may monitored as to how many calls are intheir respective queues whether they are COST queues, IP queues, orvirtual queues of either type. Estimated waiting times for each queue ofeach agent are determined using call-handling statistics availablewithin center 21. The information gathered to be made available t usersmay also be more extensive in scope, involving status of groups ofagents and the like. Server 49 is capable of monitoring the status ofeach agent in real-time, but for practical purposes, may performperiodic status checks on a frequent basis such that real-timeparameters are closely emulated. All current status information forevery agent logged on to LAN 23 is compiled by server 49 and maintainedas long as it is current.

An instance of Communication-Center-Presence Software (CCPS) 50 isprovided within server 49 and adapted to interface with agent-monitoringsoftware per instance of client request initiated through WS 15. Statusserver 49 is, in this embodiment connected directly to WS 15 by aseparate high-speed data link 20. This implementation is notspecifically required to practice the present invention; however thepresence of link 20 enhances server-to-server communication. In theabsence of data link 20, all communication between WS 15 and statusserver 49 would be conducted over Internet connection line 19, throughIPR 25, and over LAN 23.

In practice of the present invention in one preferred embodiment, user 9accesses Internet 61 over Internet connection line 11 and logs into WS15. WS 15 serves a Web page as a response to a request from user 9. TheWeb page requested is hosted by the entity hosting communication center21 and therefore contains information about communication center 21including contact links, product information, telephone numbers, and anyother pertinent information that may be found on a customer interface.In addition to the more typical information contained in the Web pagerepresenting communication center 21, a Web form (not shown) is madeavailable for the purpose of taking a user's status request beforerequiring the user to place an actual call or initiate any contact withcenter 21.

The Web form, which is part of WPS 16, allows a user to enter suchinformation as a product description, profile information, or a purposefor the desired contact with communication center 21. WPS 16, uponreceiving and registering a request from user 9 sends an instantmessage/request over high-speed data link 20 to status server 49. CCPS50 parses the request and obtains the most current status informationfrom server 49 that matches the intent of the request. For example, ifuser 9 desires to purchase a four-wheel drive pickup, and communicationcenter 21 is a car dealership, then CCPS 50 will only obtain statusinformation connected to those agents within center 21 responsible forfour-wheel drive sales.

Once status information is obtained by server 49, it is sent in the formof a response from server 49 to WS 15 whereupon it may be made availableto user 9. In another embodiment, the status response may be sent touser 9 along with a subsequent Web page whereupon the information iscaused to be a part of the web page at the location of user 9. In thiscase, CPS 10 would incorporate the information into the display of thesubsequent Web page.

In still another embodiment, CCPS 50 may obtain all of the currentagent-status information available from communication center 21 and sendit to WS 15 over link 20 on a periodic or real-time basis. WPS 16 would,in this case, the enhanced with a filtering capability of filteringstatus information that closely matches a user request.

Also in this case, an instant message would not need to be sent from WS15 to status server 49.

In a simple embodiment, status information viewable by user 9 wouldinclude any listed agents, number of calls in their queues, andestimated time waiting for agent availability with respect to eachqueue. For example, agent JIM may have 5 COST calls waiting, 5 IP callswaiting, and 8 unanswered e-mails. Therefore, agent Jim may beconsidered unavailable for immediate service. An estimated time waitingfor Jim to respond may be averaged over all his media types, or maybespecified for each media type. User 9 may initiate a refresh action inorder to obtain an update of status information. Contact links and otheroptions may be presented in association with listed agents and agentstatus figures.

An interface of the type described above enables users to essentiallybrowse agent-availability statistics before initiating any type ofcontact with communication center 21. In the event that a responsemessage or downloaded interface reveals an available agent, user 9 couldinitiate contact with that agent using provided contact links orinformation.

It will be apparent to one with skill in the art that there are manyconfiguration possibilities that exist with respect to reportingagent-availability status of agents within communication center 21 torequesting user 9 without departing from the spirit and scope of thepresent invention. Instant messaging or embedding the information intoWeb pages before or after download are techniques which may be employedto practice the present invention. Likewise, the status information maybe made a part of a Web browser's tool bar or caused to open in aninteractive window that pops up on a user's screen when the data isready for display. In still another embodiment user station 9 maycontact IPR 25 via connection 11, 13, 19 and retrieve pertinentinformation maintained through CCPS 50. This data may be displayedindependently or integrated with a Web page from server 15. Thefunctionality of WPS 16 at Web server 15 in retrieving information fromcommunication center 21 via CCPS 50 is but a single example of how asystem according to the present invention may function. It has beendescribed that similar functionality may be provided by CPS 10 at aclient station, and that there is no limitation to the client stationoperating only through a Web server. In a broad sense, the means ofcommunication of client station 9 with communication center 21 is notlimiting to the invention. The cooperation of gathering software (CCPS50) at a communication center with an interface software (CPS 10) at aclient station is novel.

In a further aspect, there are a variety of ways that the clientstations in such a system may become enabled. In the system whereinretrieval of communication center status info is by software (WPS 16) atserver 15, there is no need for additional software at the clientstation. A conventional browser will do. In the cases wherein softwareCPS 10 is enabled at a client station, that software may be sent to aclient on a CD (for example), sent to the client in the background onaccessing a Web page at server 15, downloaded intentionally by a clientat station 9 as a plug-in to a Web browser, and in other ways as well.

FIG. 2 is a plan view of a client-side media-interface 69 that containsstatus information according to an embodiment of the present invention.Interface 69 is an exemplary representation of a customer interfacedisplaying agent-availability status after it has been requested anddelivered. Interface 69 may be an integrated part of a Web page (incl.e.g. script, Java, Java script, X-Windows script, plug-in etc. etc.), apop-up information window, an instant message interface, or any othermechanism of computerized display.

In one embodiment, interface 69 is a product of CPS 10 of FIG. 1. Inthis embodiment, WPS 16 of FIG. 1 sends agent-availability informationto user 9 over Internet connection 11, 13, 19, and CPS 10 incorporatesinformation into an interactive display-window or into the actual Webpage served by server 15. In another embodiment, interface 69 is aproduct of WPS 16 in FIG. 1 and is embedded into the actual Web pagebefore it is served to user 9. In still another embodiment, interface 69is a product of WPS 16 and is served to user 9 in the form of a standardinstant-message interface using any of several known protocols. In thisbasic example, agent-availability status is generalized to a group ofagents and displayed as 3 parameters. These are a number of availableagents 71, a number of calls waiting 73, and an estimated hold time 75.In this case the information represents the most basic informationavailable for the target group of agents. In this case there are 12available agents that are handling the subject of request resulting ininterface 69. There are 25 calls waiting in a queue shared by the 12available agents. The average estimated hold time for one of the 12agents to respond to an immediately placed call is 2 minutes and 10seconds. In this example, three interactive options are presented withininterface 69, in this case, below the agent-availability information. Acontact option 72 is provided to allow a viewing customer to initiate anIP-to-IP telephone call, or an IP-to-COST telephone call. A contactoption 74 enables a viewing customer to send an e-mail, which would berouted to one of the 12 available agents. A contact option 76 enables aviewing customer to initiate a callback from one of the 12 availableagents. Using callback option 76 enables an invoking user to be enteredinto a virtual queue. A user in this case may expect a callback atapproximately 2 minutes and 10 seconds after initiating the contact. Inactual practice, the availability and variety of interactive contactoptions is dependent upon enterprise rules and available media. One withskill in the art will recognize that there are many alternative displayscenarios which may be used with interface 69.

In a more advanced case, interface 69 may contain much more detailedinformation including information that a specific to a user requestinvoking the interface. For example, each of the available agents 71 maybe listed separately instead of collectively as illustrated herein. Thenumber of calls waiting may be broken down to reflect the exact numberof calls waiting for each available agent. Furthermore, estimated holdtimes may be determined individually for each busy agent. Likewise,additional information about agents may be listed such as skill levels,language preferences, ranking within the organization, and so on. Thelevel at which detailed agent-availability data may be compiled andpresented depends entirely on the sophistication and configuration ofagent monitoring software in use within communication center.

FIG. 3 is a flow diagram illustrating client and system procedural stepsfor practicing communication-center presence reporting according to anembodiment of the present invention. At step 77, the user logs onto aDPN, which in a preferred case, is the Internet network. At step 79, theuser of step 77 navigates to a Web site hosted by a communication centerthat the user desires to contact. At this point, a Web form may bepresent on a main Web page of the Web site navigated to in step 79. Sucha Web form would prompt a user for his or her intent or reason for thedesired contact. These reasons are as wide-ranging as are enterprisesthat might host such a Web form. For example, a list of productdescriptions may be presented for selection. Levels of contact prioritymay be established in the case of priority queuing, amongst otherspossibly based on user ID. Available options are limited only byenterprise rules.

At step 81, a user enters the information solicited from him or her bythe above-described Web form. At step 83, the user submits the Web form.At step 84, a Web presence server analogous to Web server 15 of FIG. 1receives the request sent by the user of step 83. At step 85, the Webpresence server forwards the request received in step 84 to acommunication-center presence server analogous to server 49 of FIG. 1.

At this point, software analogous to CCPS 50 of FIG. 1 analyzes thereceived request and pulls the most current agent-availability data forthe purpose of servicing the request. At step 86, the applicable data issent in the form of a response back to the Web presence server of step85. It is noted herein, that this communication between servers mayoccur over a separate high-speed data line as was described in referenceto FIG. 1 above. Moreover, the server-to-server transaction may followknown request/response models used in Internet transactions.

When the applicable data is received at the Web presence server,software analogous to WPS 10 of FIG. 1 may integrate the informationinto a subsequent Web page to be sent back to the user of step 77, or itmay formulate the response as an instant message, which is immediatelydispatched act to user 77. At step 87 then, the applicable data isdelivered to the user of step 77 and is displayed as an interactiveinterface analogous to interface 69 of FIG. 2 at step 89. At this point,the user of step 77 may initiate contact with the target communicationcenter or wait for a better time for contact initiation based onuser-analysis of the received data. It is also noted herein that theuser requesting the data may refresh his or her request periodically toobtain the most current agent-availability data during a session period.In some cases, the requesting user may receive streaming data inreal-time showing continual changes in agent-availability status overthe time spent viewing the interface.

It will be apparent to one with skill in the art, that thecustomer/system process steps illustrated in this example may be alteredin description and order without departing from the spirit and scope ofthe present invention. For example, the Web presence server of step 84may have a local access to the most current agent-availability data atthe instant of receiving a request. This was described an embodimentwherein agent-availability data from the target communication center isperiodically pushed or continually streamed to the Web presence server.Moreover, the agent-availability data may be integrated into a Web pageat server side or client side dependent upon software implementation. Inone embodiment, the entire transaction process from request to responseand display is conducted using an instant message protocol.

The method and apparatus of the present invention may be practiced onthe Internet, a private or corporate WAN or LAN network or in anycombination thereof. Web server 15 of FIG. 1 may be hosted by a singlecommunication center or shared by a plurality of communication centers.In the latter case, it is more likely that agent-availability data willbe pulled from the providing communication centers rather than pushed tothe central location.

Client-Status Monitoring Capabilities

In another aspect of the present invention an enhancement is providedthat enables agents operating from within communications-centers tomonitor client availability status for the purpose of callbackoptimization. In particular, in cases where the client has many mediaavailable, a collection of all media statuses is generated, and thenpresented as an amalgamated status to an agent or robotic agent.Additionally, the preferred mode and time for a back connection may beavailable as well.

In one aspect of the system, client on-/off-line status information andthe client's callback preferences are obtained at the same time usingthe same protocol. In another aspect of the system, client on-/off-linestatus information and the client's callback preferences are obtainedindependently, for instance using a presence service such as ICQ™ forthe on-/off-line status information and HTTP or WAP for obtaining theclient's callback preferences, or for instance during a previouscommunication between the client and an agent of the communicationcenter.

In one aspect of the system, client-status information is obtained froma single client terminal, such as a PC. In another aspect of the system,partial client-status information is obtained from multiple independentclient terminals, such as a PC and a cellular phone, and combined toprovide complete client-status information to the subscribing agent. Inone aspect of the system, client on-/off-line status information isobtained concerning a single terminal device, such as a PC. In anotheraspect of the system, client on-/off-line status information is obtainedconcerning multiple independent terminal devices, such as a PC and acellular phone, and combined to provide complete client on-/off-linestatus information.

In one aspect of the system, client-status information is obtained usinga single protocol, such as ICQ™. In another aspect of the system,partial client-status information is obtained using multiple protocols,such as ICQ™ and MSN Messenger Service™, and combined to providecomplete client-status information to the subscribing agent. In oneaspect of the system, client-status information is obtained via a singlenetwork, such as the Internet network. In another aspect of the system,partial client-status information is obtained via multiple networks,such as the Internet network and the cellular network, and combined toprovide complete client-status information to the subscribing agent.

FIG. 4 is an overview of a communications network 92 wherein agentmonitoring of client status is practiced according to an aspect of thepresent invention. Communication network 92 is somewhat analogous tocommunications network 52 of FIG. 1 above in terms of basic architectureand software implementation. Elements of network 52, which are notmodified for the purpose of enabling the present invention, are notre-introduced with new element numbers. Newly provided or modifiedelements used in the practice of the present invention are introducedherein having new element numbers.

Communication network 92 comprises PSTN 55, DPN 61, communication center21, and an exemplary user 9 as described above with reference to network52 of FIG. 1.

PSTN 55, as described in the example of FIG. 1, represents a preferrednetwork connecting all connection-oriented-switched-telephony (COST)clients whom call into communication center 21 for the purpose of doingbusiness with the center. In another case, a private telephone networkmay be utilized in place of or in combination with PSTN 55. The inventorchooses PSTN 55 because of its high public-access characteristic.

LSW 59, illustrated within PSTN 55 and represents automated switchingcapability within the network. LSW 59 may be an Automatic CallDistributor (ACD), a Public Branch Exchange (PBX), or any other type oftelephony switching apparatus, in the broadest sense, including but notlimited to DNT type switches/gateways as used in Voice over IP (VoIP)etc. as was previously described. LSW 59 is CTI enhanced by CTIprocessor 62 connected thereto by a CTI connection. TS software providedwithin CTI processor 62 enables communication center 21 to controlcertain call-switching and routing aspects performed by LSW 59 as wasdescribed in FIG. 1.

LSW 59 is connected to CSW 53, illustrated within communication center21, by COST telephony trunk 57. CSW 53 may be any of several types ofcall processing switches as previously described with respect to LSW 59above. CSW 53 is enhanced by CTI processor 65, which is connectedthereto by a CTI connection as was described with reference to LSW 59.CTI processor 65 also has an instance of TS software provided thereinand adapted to communicate with TS software of processor 62. Datanetwork 64 provides a capability of double dipping described in FIG. 1above. Internet 61 facilitates all Internet-protocol (IP) callersreaching communication center 21 through the Internet. Internet 61 maybe a private or corporate Wide Area Network (WAN) or any other type ofDPN as long as Internet communication protocols are supported. Theinventor chooses Internet 61 as a preferred network because of its highpublic-access characteristic, as stated with reference to FIG. 1. IPcallers calling into communication center 21 may interface from anyInternet-connected server, which provides network access tocommunication center 21. Moreover, there may be many such serversdistributed throughout network 61, each server being a point of access.Internet 61 is represented by Internet backbone 13, which represents allthe lines, equipment, and connection points making up the Internetnetwork as a whole, including sub networks.

Status server 49 is illustrated in this example as having acommunication-center-presence-server CCPS 94 (software) installedtherein, which is an enhanced version of CCPS 50 described in theexample of FIG. 1. CCPS 94 not only provides clients with agent statusinformation over the WWW, but also allows agents working within center21 the capability of subscribing to client status information. Moredetail regarding the just-described enhancement is provided below.

In this example, there are 2 exemplary file servers illustrated asconnected to Internet backbone 13. These are a customer presence server(CPS) 95 and a foreign presence server (FPS) 93. It is noted herein thatCPS 95 effectively replaces WS 15 of FIG. 1 and can be assumed toprovide the formerly-described functionality of server 15 and associatedweb presence server (WPS software) 16 of the same example. CPS 95functions as a file server enhanced with an instance of software (SW)97, which may be described, in this embodiment as CPS software 97. CPSserver 95 is, in this example, hosted by the same entity hostingcommunication center 21 and is utilized as a customer/agent interface.

CPS SW 97 is enhanced for the purpose of allowing an agent to subscribeto real-time customer availability information as it applies to theremote station occupied by the customer. In this case, the stationrefers to remote PC 9, also referred to as user 9 in this specification.User 9 is connected to backbone 13 by Internet-access line 11, as wasdescribed with reference to FIG. 1. CPS 95 is optional in this exampleand not specifically required in order to practice the presentinvention. CPS 95 represents a collection server that is utilized forcollecting and organizing user status-states, which may be subscribed toor otherwise accessed by agents of center 21.

FPS server 93 is adapted as a third-party server similar to thoseemployed by well-known chat and instant messaging services. FPS 93 maybe assumed to have software installed therein, and is adapted toorganize instant communication between clients using a supported instantmessaging service operating under a known protocol such as RFC2778 aswas described in the example of FIG. 1. It is noted in this example,that CPS server 95 is connected to status server 49 within communicationcenter 21 by high-speed data connection 20. A second high-speed dataconnection 19 is provided for connecting FPS server 93 to status server49. In this respect, status server 49 has access capability to both CPS95 and FPS 93. It is similarly noted herein, that high-speed data-accesslines connecting server 49 to servers 95 and 93 are not required inorder to practice the present invention. Server 49 may instead ofadapted to connect to Internet backbone 13 using a 24X7 or a switchedInternet connection.

In this embodiment, CPS 95 is hosted by center 21 and adapted tofunction in much the same way as FPS 93. That is to say that CPS 95 is acentral facility for interaction. In one embodiment of the presentinvention, CPS 95 is not present and CPS SW 97 is instead distributeddirectly to client machines, as in this case, CPS SW 97 illustrated asinstalled in PC 9. It is noted herein that the functionality of CPS 10of FIG. 1 is included in the enhanced version, or CPS SW 97 shown on PC9. In the absence of server 95, with client machines enhanced by SW 97,CCPS 94 interacts directly with the customer.

User 9 may be assumed, in this example, to be accessing either FPS 93,or CPS 95 for the purpose of determining agent status information asdescribed in FIG. 1 and for making status information available tosubscribing agents.

IPR 25 handles incoming message events sourced from FPS 93 and/or CPS95. Other than enhanced functionality represented by server 49 runningCCPS 94 and dual connection capability from server 49 to CPS 95 and FPS93, communication center 21 operates identically to the center (21)described in FIG. 1 including the configuration of agent's workstationsand so on. Therefore, detailed re-description of the agent's operatingenvironment (workstations, LAN connectivity, etc) need not be providedin this example.

In one embodiment of the present invention, PC 9 has a knowninstant-messaging software application installed therein and adapted touse FPS 93 as a centralized communication server. An example of one suchmessaging service would be the well-known ICQ™ service. In this case,CCPS 94 running on status server 49 is adapted to support the particularinstant-messaging application employed by user 9 and supported at FPS93. The instant-messaging application is, of course, assumed to beexecuting on the client machine, shown here as FPS-SW 97. For example,CCPS 94 may be adapted to recognize various descriptivestates-of-activity represented at FPS 93 and associated with real-timecommunication states of connected users, in this case user 9. Examplesof such states available through instant messaging services includeindications of whether user 9 may be off-line or online. Other statusindications such as “user is away” or “do not disturb” may also beincluded as standard status indications available with known messagingservices.

CCPS 94 may be adapted to integrate an enhanced package of statusindicators associated with communication-center use into softwarerunning on FPS 93 and on user station 9 such that user station 9 maycommunicate a variety of enhanced status messages to subscribing agentswithin communication center 21. It is also noted herein, that thefunctionality of agent-status indication as taught in FIG. 1-3 above maybe integrated into software at FPS 93 and at user station 9 withoutdeparting from the spirit and scope of the present invention. Oneexample of an enhanced user-status indication that may be associatedwith communication center 21 may be an indication that user 9 istemporarily away and preferred contact is by cellular phone during thisstatus period. Of course, the cellular phone number of user 9 would beprovided as part of the indication. A communication-center agent, forexample, an agent operating PC 43 within workstation 31 may subscribe toFPS 93 utilizing LAN 23, server 49, and high-speed data link 19.

In this case, the agent in question may be in various states ofcommunication with a plurality of users connected to have FPS 93.According to a push model, user-status indications may be pushed in theform of periodic instant messages to PC 43, where they may be viewed bythe monitoring agent. The monitoring agent may decide which callbackoptions are appropriate based on user-status indication contained withinthe content of the instant message. That may be done by other protocolthan just IM, e.g. HTTP, WAP, IPNT etc.

According to a pull case, the agent operating PC 43 may subscribe to aninterface (not shown) served by FPS 93 such that current statusindications are contained within the interface and viewable on PC 43. Inthis embodiment, status server 49 executing CCPS 94 provides interactiveinterfaces for both clients and agents for the purpose of viewingstatus. Also in this embodiment, status server 49 executing CCPS 94 mayfacilitate COST outbound dialing from agent to client through CSW 53 byvirtue of connection 51.

An agent operating at one of connected workstations 27-31 may subscribeto real-time status reports associated with a plurality of usersconnected to FPS 93. Subscription may be defined as an active state ofdialog established between an agent and the connected users. The dialogstates may be initiated and established by users contacting agentsthrough the method of the present invention. Therefore, users who haveconnected to FPS 93 and have initiated contact with an agent ofcommunication center 21 may be considered for status reporting until thepurpose of the dialog is achieved or the user is no longer connected toFPS 93.

In some cases, the agent user will not be a human agent but will be aspecial purpose server (not shown) providing some very specificservices. One example of such a special server is a callback server thatautomatically initiates callback calls to a customer 9 based on thatuser's callback preferences and routes the call to an agent after thecustomer answers. Another example of such a special purpose server is aserver that monitors the communication center's status and, on requestof the customer 9, sends an alert to the customer when the communicationcenter's status matches specific conditions, for instance when theaverage waiting time is smaller than three minutes.

In a preferred embodiment, there can be multiple FPS and CPS servers innetwork 92. There can for instance be one FPS 93 for every third-partypresence service that is being used in the communication center. Therecan be for instance an FPS 93 that is able to obtain the cellularon-/off-line status of the customer's mobile (not shown).

In another embodiment, the customer can have multiple terminal devicessuch as a PC 9 and a cellular phone (not shown). For each type ofterminal equipment there can be a different FPS 93 to obtain theon-/off-line status of the customer. By combining these partial statuses(SW not shown), for instance in CCPS 94, a complete customer status canbe presented to the subscribing agent. In one aspect, the CCPS 94 cancombine the presence information of the customer. In another aspect, thecustomer's PC 9 can combine the presence information. Take for instancethe case where the PC is equipped with a modem-board and where thecustomer's telephony is also connected to that same modem-board. In thiscase, the client's PC 9 can combine the client's on-/off-line status forthe customer's fixed line and for the customer's interne access and hisability to participate in a chat session or a net-meeting, etc.

In some cases the agent doesn't necessarily have to subscribe for agentstatus info to the CPS or FPS, the CCPS could take over this job (e.g.agent doesn't use IMPP to subscribe but proprietary protocol). In thelatter case the CCPS could subscribe to the CPS or FPS. Generally, it isbetter to have a call center node subscribe to all different types ofCPS and FPS nodes, because there is a need or preference, to combine thecustomer status information from those different nodes into onepresentation for the agent. In some other cases, this CCPS functionalitycould run on a dedicated node, could be combined with otherfunctionality on a separate node (e.g. embedding the status informationin web-page), could run on the agents workstation (or node in case ofautomated agent), etc.

In another aspect of the present invention, CPS 95 executing CPS SW 97functions as a status broker in much the same way as FPS 93. Theexception being that CPS 95 is provided as a dedicated customerinterface for the sole purpose of communication with communicationcenter 21. In this aspect, the instant messaging application, SW 97, isproprietary and contains all of the status options and communicationsoptions supported by center 21 and does not have to be integrated withan existing instant messaging service. Provision of CPS 95 executing CPSSW 97 enables an agent operating one of workstations 27-31 within center21 to subscribe to a single interface containing real-time orperiodically updated status reports concerning all of the connectedusers which may be in dialog with the agent. In one embodiment, instantmessages may be propagated in a push model as described above, insteadof having subscription to an interactive interface.

Although in many cases the agent will not be communicating synchronouslywith the customer while receiving these customer's status info, it ispossible to allow that, for example in cases where both the agent andthe client need to do something, while communicating as well.

As previously described above, CPS 95 is optional and is intended torepresent the central “place of status exchange” between agents andusers, including but not limited to requests, etc. for dialog. Accordingto another embodiment of the present invention CPS SW 97 is distributeddirectly to client PC stations similar to PC 9 as illustrated herein. Inthis case, status server 49 executing CCPS 94 functions as an instantmessage broker (i.e. proxy) between agents operating workstations 27-31and users represented herein as user 9. In this case user 9 would loginto a web server analogous to web server 15 of FIG. 1 for the purposeof initiating contact with communication center 21. Because andinterfacing server is used to interface a plurality of users tocommunication center 21, both instant message type status reports andstatus reports contained with an electronic information pages (webpages) are possible.

In some cases, signaling may be sent over the IM protocol, althoughtypically, the other media will provide their own protocol, which willbe used respectively, such as H.323 or SIP for IPNT.

In still another embodiment, user 9 initiates direct contact tocommunication center 21 by virtue of a client-installed version of CPSSW 97, which would contain all of the appropriate contact mechanismsneeded to effect IP-to-IP or IP-to-COST connections over the appropriatenetwork paths to center 21. In this embodiment, server 49 executing CCPS94 may still be used as an agent-interface server, to which agentsoperating stations 27-31 may subscribe to be in order to view currentuser status, including but not limited to IP-to-IP events. It is notedherein, that IP-to-COST events would arrive at communication center 21after having been routed through PSTN 55 through an appropriate gateway.However, when such events arrive at CSW 53 for internal routing, achannel may be opened from server 49 to the node, which is in this casePC 9, from which the incoming event originated if the addressinginformation is included in the arriving COST event. In this scenario, anagent may interact with a user from a COST telephone and view thatuser's status information simultaneously. If for some reason the agentmust terminate the call, the agent may still subscribe user's onlinestatus through the connection established to PC 9 by server 49. Eventhough there is no active communication between the contacted agent andthe initiating user status regarding connectivity state, callbackinstructions, and so on is immediately available to the contacted agent.Similarly, agent availability and estimated time of response reportsassociated with the contacted agent are available to user 9 as long asthe connection between user 9 and server 49 is open.

In another embodiment, the on-/off-line status information for user 9will reach the communication center 21 independently from the callbackpreference information for that user 9. In one aspect, user 9 can beinvited to fill out some form on a web page in order to specify callbackpreferences. In still another aspect, an agent can be feeding thecustomer preferences to the system during a communication with thatcustomer 9. In these aspects, the callback preference information can becombined with the on-/off-line status information. In one aspect, theweb page can be accessed by the customer using a PC. In another aspect,the web page can be accessed using a mobile device that is for instanceWAP enabled. In one aspect, the web-page can be hosted by the FPS 93 orthe CPS 95. In another aspect, it can be hosted by another server (notshown).

In still another embodiment, the customer's preferred third-partypresence service can be part of the callback preferences. There are manythird-party presence services such as, but not limited to, ICQ™ and MSNMessenger Service™. A user 9 that is a member of one these presenceservices, can allow agents of the communication center to monitor it'spresence status by communicating it's preferred presence service to thecommunication center. In an aspect of the invention a customer thatisn't a member of a third-party presence service can be allowed by thecommunication center to download the tools for a communication centerspecific presence service.

FIG. 5 is a simplified logical connection diagram illustratingfunctionality of principally software elements in an embodiment of thepresent invention. In FIG. 5 CCPS 119 is illustrated as operable in acommunication center 117 for receiving status from client devices andother information to be provided to agents. As described above, theagents may be live agents or robotic agents.

In FIG. 5 there are two clients (persons) labeled Client 1 and Client 2.There are four client devices 129, 133, 137, and 125, shown in FIG. 5.Client 1 has a PC 129 at his home, which executes an instance of FPS-SW131, which is, in this case, AOL. Client 1 also has a PC 137 at hisoffice executing an instance of CPS-SW 195. CPS-SW 139 is provided bythe host of communication center 117. Further, Client 1 has a WAPtelephone 125 executing an instance of FPS-SW 127, provided by Sprint inthis example. Lastly there is a second client (Client 2) operating a PC133, the PC executing an instance of FPS-SW 135, in this example alsoAOL.

A first Foreign Presence Service Server (FPSS) 121 monitors bothinstances of AOL (and any other instances at client premises not shown),and provides presence information to CCPS 119, which is enabled for AOLand is executing in communication center 117. A second FPSS 123 monitorsWAP telephone 123. CCPS 119 monitors CPS-SW 139 executing on PC 137,although alternatively, there may be an intermediate Client PresenceService Server between PC 137 and CCPS 119, not shown here. Furthermore,in some cases additional servers maybe inserted as proxies etc. betweenfor example FPSS 121, 123 and CPSS 119 etc., not shown here.

It may be assumed, for example, that Client 1 in FIG. 5 may move betweenhis PCs and carry his WAP telephone with him, being variously connectedand available through the three client devices 125, 129, and 137. Realtime monitoring of all of these devices by CCPS 119 directly and throughFPSS instances provides valuable information to a real or robotic agentassociated with Center 117, together with client preference informationwhich may be achieved by any of several paths, as described above, inreal time or according to pre-programmed preferences. The ability ofagents, real or robotic, to respond to client's needs is thereforegreatly enhanced. The skilled artisan will recognize that both FIG. 4and FIG. 5 are greatly simplified illustrations, and there may be manymore clients, client devices, and instances of FPS and CPS servers andsoftware involved in many ways. The diagrams and accompanyingdescriptions are provided to convey the essentials of the invention andits functionality.

It will be apparent to one with skill in the art, that the method andapparatus of the present invention may be applied to a variety ofconnection scenarios without departing from the spirit and scope of thepresent invention. Similarly, the software of the present invention maybe provided in a variety of functionalities ranging from an extendableapplication program interface (API) to an existing instant-messagingservice to a fully functional server-driven service applicationincluding client-side and server-side components.

It will also be apparent to one with skill in the art, that instantmessages following standard instant message protocol can be sent backand forth between subscribing agents and clients without departing fromthe spirit and scope the present invention. In addition to instantmessaging, status alerts may take the form of pager messages or othertypes of known alerts when a client status is determined to be off-line.

FIG. 6 is a plan view of an exemplary agent-side media-interfaces 99 and101 containing availability status and callback parameters according toan embodiment of the present invention. Interface 99 may take the formof instant message, a messaging window integrated into an electronicinformation page (web page), or any other graphics interface that may bepropagated over network lines to subscribing devices. In this simpleexample, Joe Customer has a status of ONLINE and the requested callbackmedium of voice over Internet protocol (VoIP). Other callback mediumslisted in interface 99 include a COST medium and a Pager medium.

In a one case, an agent subscribes to the status of Joe Customer duringa dialog session typically initiated by Joe Customer. Interface 101 isanalogous informed to interface 99 with the exception that the indicatedstatus is OFFLINE. The status depicted in interface 101 is an indicationto a subscribing agent that Joe is no longer connected to an interfacingserver on the network. If Joe is connected to the network but noactivity is recognized for a predetermined period of time, Joe's statusmay be determined to be AWAY. In this example, interface 101 depicts apager medium as a preferred callback option.

In another case of the invention, a single agent may subscribe to aplurality of customer status messages simultaneously such that he or shemay manage outbound calling in a more optimal fashion. Moreover, becausethe messaging is bi-directional Joe may receive alerts or messagesindicating estimated waiting time for a callback, or perhaps instantmessage data that resolves the current dialog between Joe and an agent.In the latter case, instant messaging may be used to dispose of calls.

FIG. 7 is a flow diagram illustrating agent and system procedural stepsfor observing customer status and call back preferences according to anembodiment of the present invention. At step 107, a communication-centeragent subscribes to customer presence server 95 of FIG. 4, in this case,through status server 49 within communication center 21 described inFIG. 4. It is assumed in this step that the subscribing agent alreadyhas at least one customer who has initiated contact with the subscribingagent through server 95. It may be that the subscribing agent is workingwith a plurality of customers also connected to server 95.

At step 109, the subscribing agent is served one or more instantmessages containing customer status information. In one embodiment, asingle interface such as a web page containing status data categorizedfor each customer the agent is working with is served at step 109. Inthis case, status information related to each customer the agent issubscribing to may be contained in separate windows or lists availablewithin interface. In another embodiment, the subscribing agent mayselect a customer and receive an instant message regarding thatcustomer's status.

At step 111, the subscribing agent observes the customers' statusrelating to whether the customer it is online or off-line. At step 113,the subscribing agent observes the customer's call back preferences,which may very according to the customer's connection status. Call backpreferences may include but are not limited to IP phone, cellular,e-mail, pager, COST telephone, interactive chat, and so on. At step 115,the subscribing agent takes action based on the customer's status andstated call back preferences.

In one case of the invention, CPS 95 may be facilitated as sort of acallback queue wherein a plurality of the agent's customers may bedirected to if the agent of contact happened to be busy at the time ofcontact. During the period of waiting, customer status and call backpreferences are propagated to the subscribing agent and estimated timesof response and other information they be propagated to the waitingcustomers. Flexibility exists in this embodiment in that unlike anynormal call-waiting queue, the customer is free to move about and evendisconnect from the network and go about normal business while waitingfor a callback.

In the case of a customer terminating his connection with server 95, thesubscribing agent will be served an instant message reflecting thecustomer's off-line status and a medium wherein the agent may contactthe customer off-line such as a COST telephone, a pager, or some otheroff-line medium.

In another case of the invention, a priority state may be applied to theplurality of customers waiting for a response from a particular agent.In this embodiment, the customers may subscribe to estimated-waitingtime alerts regardless of whether they are online or off-line. Forexample, a customer may indicate that an alert be sent to his or herpaging device approximately five minutes before an agent is estimated torespond by calling the customer on his or her cell phone the event thatthe customer has gone off-line from the interfacing server. Thesubscribing agent is served the off-line status, which includes thepreferred call back medium and the appropriate cell phone number tocall. The page alert to the customer they be propagated by theinterfacing server if the server is equipped with outbound dialingcapability into a telephony network. In this case the server has thecommunication-center status information of the agent including theestimated times for the agent to handle his or her calls in queue.

The method and apparatus of the present invention may be practiced overa communications network comprising any combination of Data-Packet,COST, and wireless networks utilizing appropriate gateways withoutdeparting from the spirit and scope of the present invention. Moreover,many variations of customer states and agent states may be included asoptions for configuration into the software the present invention. Forexample, a client may configure as many devices into the system asdesired for enabling agent callbacks under a variety of circumstances.Similarly, an agent may subscribe singularly or in a plural sense tospecific customer states.

In still another case of the invention, a central server such as CPS 95of FIG. 4 may be dedicated to communication-center 21 such that allinterfacing customers have status interfaces which are available to allsubscribing agents. In this case, subscribing agent may browse andsubscribe to selected customer states based on agent/customer match-up.For example, a subscribing agent specializing home loans for example,may log into the system and subscribe to any customers connected thesystem who have initiated an inquiry to communication center 21regarding loans. There are many variant possibilities.

Personal Interaction Client-Center Interface

According to another aspect of the present invention, a personalizedclient-center interface is provided, which in addition to accommodatingthe agent/client presence services described above, provides aninteractive capability to clients for the purpose of enabling the clientto perform a number of communication-center related tasks withoutinvolving agent interaction. In one embodiment, for example, the clientis enabled to access information at the communication center, and tocheck thereby the status of a transaction. In this and other embodimentsa client can access a variety of other information, and interact withcommunication center capabilities in a number of ways. The method andapparatus of the present invention is enabled in various embodiments bythe teachings presented below.

FIG. 8 is an overview of a communications network 177 wherein a personalinteraction-center system is utilized according to an embodiment of thepresent invention. Communications network 117 is somewhat analogous tocommunications network 92 of FIG. 4 above in terms of basic architectureand software implementation. Elements of network 92 which are notmodified for the purpose of enabling the present invention are notre-introduced with new element numbers. Communications network 117comprises PSTN 55, DPN 61, communication center 21, and an exemplaryuser 9 as described above with reference to network 92 of FIG. 4.

PSTN 55, as described in the example of FIG. 4, represents a preferrednetwork connecting all COST clients who call into communication center21 for the purpose of doing business with the center. PSTN 55 isconnected to the communication center 21 through COST telephony trunk 57and data network 64.

In this example there are 2 exemplary file servers illustrated asconnected to Internet backbone 13. These are a customer presence server(CPS) 95 and a customer interaction server (CIS) 119. It is noted hereinthat CPS 95 is identical with CPS 95 described in FIG. 4, and can beassumed to provide the formerly described functionality of server 95 andassociated web presence server software 97 of the same example. CPSserver 95 is, in this example, hosted by the same entity hostingcommunication center 21 and is utilized as an agent/customer interface.

CIS 119 is provided as a single example of a way in which thefunctionality of the present invention may be implemented. There are anumber of other ways within the spirit and scope of the invention thatthis may be done, such as by utilizing the functions described aboveprovided by WS 15 of FIG. 1 with those of FPS 93 of FIG. 4. The overallfunctionality may also be provided by utilizing the functions of WS 15with those of CPS 95. Further, there is no implication here that theuser interface, in the case of a Web page, by hosted by a third party.The descriptions of the functions of CIS 119 in great detail in thefollowing material is to be construed in this light, that there needs bean interface, and that described is exemplary, and that the functionsmay be provided differently within the spirit and scope of theinvention.

CPS SW 97 is enhanced for the purpose of allowing an agent to subscribeto real-time customer availability information as it applies to theremote station occupied by the customer. In this case, the stationrefers to remote PC 9, also referred to as user 9 in this specification.User 9 is connected to the Internet backbone 13 by access line 11, aswas described with reference to FIG. 4. CPS 95 represents a collectionserver that is utilized for collecting and organizing client statusinformation, which may be subscribed to or otherwise accessed by agentsof communication center 21. CPS 95 is optional in this example and notspecifically required in order to practice the present invention as willbe described below.

It is noted in this example, that CPS server 95 is connected to statusserver 49 within communications center 21 by high-speed data connection20. A second high-speed data connection 22 is provided for connectingCIS server 119 to status server 49. In this respect, status server 49has identical high-speed access capability to both CPS 95 and CIS 119.It is similarly noted herein, that high-speed data-access linesconnecting server 49 to servers 95 and 119 are not required in order topractice the present invention. Server 49 may instead be adapted toconnect to Internet backbone 13 using such as a switched Internetconnection.

In this embodiment, CPS 95, enhanced by CPS SW 97, is hosted bycommunication center 21 and adapted to function in much the same manneras CIS 119. That is to say that CPS 95 is a central facility forinteraction. Agents 27, 29 and 31 may be assumed, in this example, to beaccessing either CIS 119, or CPS 95 for the purpose of determiningclient status information and for making status information available toservicing agents.

IPR 25 handles incoming message events sourced from CIS 119 and/or CPS95. Other than enhanced functionality represented by server 49 runningCCPS 94 and dual connection capability from server 49 to CPS 95 and CIS119, communication center 21 operates identically to the center (21)described in FIG. 4 including the configuration of agent's workstationsand so on. Therefore, detailed re-description of the agent's operatingenvironment (workstations, LAN connectivity, etc.) will not be providedin this example.

Agents 27, 29 and 31 may be assumed, in this example, to access eitherCIS 119, or CPS 95 for the purpose of determining client statusinformation in a similar manner as that described in FIG. 4 above sothat the information can be used for optimizing call-back scenarios. Itis again noted that in the absence of CPS 95, its function may beassumed to be provided to server 119.

IPR 25 handles incoming message events sourced from CIS 119 and/or CPS95. Other than enhanced functionality represented by server 49 runningCCPS 94 and dual connection capability from server 49 to CPS 95 and CIS119, communication center 21 operates identically to the center (21)described in FIG. 4 including the configuration of agent's workstationsand so on. Therefore, detailed re-description of agent's operatingenvironment (workstations, LAN connectivity, etc.) will not be providedin this example.

A distributed software application is provided to reside in one part onserver 119 as software (SW) 121 and in one part as software (123)residing at remote station 9. SW 121 is adapted to enable a useroperating station 9 through SW 123 to subscribe to a personalized andinteractive activity interface (SW 121). It is noted herein that whilenot required, SW 121 may incorporate the presence reporting capabilitiestaught in the examples of FIG. 4 (SW 97) and of the example of FIG. 1(WPS 16). The inventor intends that the three capabilities taught,customer presence reporting, agent presence reporting, and personalizedclient interaction capabilities may be combined, if desired, into asingle distributed software implementation namely SW 121 and SW 123.However, one with skill in the art will recognize that each capabilitytaught may be separately implemented by both hardware and softwareprovisions.

In one embodiment of the present invention, SW 123 residing on PC 9 isknown instant-messaging software adapted to enable client connection toCIS 119 as a centralized communication server. An example of one suchknown messaging service would be the well-known ICQ™ service. In thiscase, CCPS 94 running on status server 49 would be adapted to supportthe particular instant-messaging application employed by user 9 andsupported at CIS 119 by SW 121. In this case server 119 may be hosted bythe entity hosting general IM services and through special arrangement,may provide personalized interfaces enabling client interaction tocommon clients of center 21 and the entity hosting server 119.

In a preferred embodiment, SW 121 provides interactive activityinterfaces of the form of dynamic WEB pages complete with instantmessaging capabilities. In this embodiment, SW 123 at station 9represents a thin client application that may operate in a stand-alonefashion or be plugged into a client's browser application.

In another embodiment, server 119 is hosted by the same entity thathosts center 21. In this regard, SW instances 121 and 123 are dedicatedapplications enabling client interaction capability with variouscommunication-center resources.

CCPS 94 running on status server 94 is adapted to handle brokering ofall of the targeted resource information from center 21 as well as allof the client presence data from a plurality of clients. For example,CCPS 94 is adapted to integrate and distribute to SW 121 an enhancedpackage of client-accessible and researchable data resources associatedwith communication-center activity as it pertains to a requesting clientin a personalized manner. Such data, incorporated into a dynamicinterface by virtue of SW 121 running on CIS 119, is accessible toclients operating SW 123, in this case, running on user station 9. Inaddition to providing interactive access to communication-centerresources, instant messaging may be employed such that agents 27, 29 and31 may be able to communicate a variety of enhanced status messages tocommunicating clients being served by communication center 21. It isalso noted herein, that the functionality of agent-status indication astaught above with reference to FIG. 1-3, may be integrated into softwareat CIS 119 and accessible from user station 9 without departing from thespirit and scope of the present invention. A communication-center agent,for example, an agent operating PC 43 within workstation 31 maysubscribe to CIS 119 utilizing LAN 23, server 49, and high-speed datalink 22 for the purpose of determining client presence, as well as forassisting a client with interactive tasks, if required.

In a preferred implementation of the present invention, a client (9) canverify a current interaction status between himself or herself andcommunication center 21 without initiating a call to the center. Center21 can also verify the status of client 9 without initiating a callback.The further goal of this specification is to enable client 9 to performa variety of center-related tasks, which may be performed without agentinvolvement. Such tasks may include, but are not limited to, checkingcurrent status of an order-in-progress, reviewing interaction historyregarding events leading to an order-in-progress, modifying or cancelingorders-in-progress, researching available product data, initiatingcontact with entities of center 21, subscribing to personalized noticesof events including special sales and promotions, changing personalcontact and status information, requesting a callback from thecommunication center specifying a specific medium and specifying aspecific time, initiating a communication with the communication centerand so on.

In one embodiment, client interaction at CIS 119 is open such that anysubscribing agent in question may monitor states of activity of aplurality of users actively connected to CIS 119. According to a pushmodel, user-status indications may be pushed in the form of periodicinstant messages to, for example, PC 43, where they may be, for example,viewed by a monitoring agent working station 31. In this case, amonitoring agent may decide whether or not to become actively involvedin interaction with a client. For example, if a client is reviewinginteraction history regarding a particular product of interest handledby a monitoring agent, that agent may invite the client to apre-scheduled chat session about the product, or perhaps an impromptuchat, which may lead to an additional sale. There are many possibilitieswhen one considers full instant messaging and chat capability.

According to one embodiment, an agent operating PC 43 may subscribe toan interface (not shown) served by CIS 119 such that current statusindications are contained within the interface and viewable on PC 43. Inthis embodiment, status server 49 executing CIS 119 provides interactiveinterfaces for both clients and agents for the purpose of viewing statusand as a predecessor to impending dialogue. Also in this embodiment,status server 49 executing CCPS 94 may facilitate COST outbound dialingfrom agent to client through CSW 53 by virtue of connection 51.

An agent operating one of the connected workstations 27, 29 or 31 maysubscribe real-time status reports associated with a plurality of usersconnected to CIS 119 as previously described. Subscription may bedefined as an active or in-active state of dialog established between anagent and the connected users. The dialog states may be initiated andestablished by users contacting agents through the method of the presentinvention or by agents contacting users.

Although the present specification teaches a personalized interactioncapability whereby clients may interact with variouscommunication-center hosted resources, it will be clear to one withskill in the art that bi-directional status reporting as taught in thecross-referenced specifications, disclosure of which is encompassed bydescription of FIGS. 1-6, may also be provided through the sameinterface. An example of such an enhanced interface is presented below.

FIG. 9 is a plan view of an interactive user interface 125 served by CIS119 of FIG. 8 according to an embodiment of the present invention. Inthis example, the Personal Interaction User Interface (PIUI) 125 iscomposed of two sub-elements or sections. These are a section labeledAdd/Edit Information and a section labeled View Status. In thisembodiment, the Add/Edit Information element is made up of four basiccategories of data used to create a dynamic multifaceted profile of aclient that is accessible to communication center entities. These fourcategories represent interactive add/edit functions illustrated in thisexample, by an element number 127 (critical account and personal data),an element number 129 (network-capable appliance communicationinformation), an element number 131 (personal agenda information), andan element number 133 (personal interests data). The informationdescribed in sub-element 133 lends itself to life style and preferencesof a client and therefore is established in a manner as to be updated asoften as is necessary.

The section of interface 125 labeled View Status comprises two basiccategories. These categories are illustrated herein by element number135 (view interaction history) and element 137 (view communicationcenter status). The information described in category 135 relates tocurrent and past interaction history between a client operatinginterface 125 and entities of a communication center. Entities asdefined herein may also be assumed to include automated systems. Theinformation described in category 137 relates to status information madeavailable by the center upon request and, in some cases, dependant onthe nature of the request.

In addition to the above, element 139 is for viewing the status ofindividual agents as personal account managers, allowing a user tomonitor calls holding for the agent, estimated hold time, and to submita call-back request. Element 141 allows the user to initiate acommunication in any one of a variety of formats, as indicated. As canbe seen in this example, interface 125 covers all of the functionalitydescribed in the embodiments introduced by FIGS. 1 and 4 above.

In a preferred embodiment of the present invention, every clientsubscribing to the system of the present invention is provided with atleast an identification parameter (member ID number). In this way, dataobtained and stored from internal and external sources is easilyidentifiable to a particular client. In addition, passwords and log-inrequirements may be instituted depending on enterprise rules. Muchprofile information about clients may be automatically compiled usingon-going historical data resulting from ongoing relationships withclients. Such data, if available, may automatically appear in thedescribed Add/Edit Information section of interface 125 when firstcreated. It is important to note herein that the data categories 127,129, 131, and 133 may be populated using automatic interaction recordingmethods during communication center interaction events.

Referring now to personal data category 127, this information isillustrated herein as divided into various basic subcategories. Thesesubcategories are listed from top to bottom as: login name, password,address, and age, marital status, etc. Each category may be furtherdivided into more subcategories as deemed appropriate. As data isautomatically compiled about a client over time, the client's profilebecomes more and more accurate. Interface 125 enables a client tomanually add or edit information at any time.

Element 129 provides information relating to the network-capableappliance capabilities of the client. This element is divided intovarious subcategories befitting the status of the client. In thisexample, the subcategories are Email, cell phone, telephone, and pager.This element may be edited continuously in keeping with the changingrequirements of the client. Additional communication capabilities mayinclude but are not limited to IP phone, PC applications such asspecific chat interfaces, file-share programs, and so on.

Element 131 reflects personal agenda information provided by a clientand is divided into various subcategories that pertain to the client'spersonal preferences relative to time and date available forcommunicating with agents at the communication center and preferredmethod or methods of communication. Personal agenda information may beedited frequently as a client's personal state changes.

Element 133 pertains to personal interests of a client and is dividedinto multiple subcategories. In this example, the subcategories listedinclude interest lists, subscriptions, and product updates. Category 133is, in this example, a vehicle through which a client may communicategeneral desires to agents of a communication center. For example,interest lists may detail all of a client's particular interests whetherrelated to communication-center business or not. By knowing interests ofa client, agents may be better able to relate to the client on apersonal level. Moreover, interests may be taken into consideration whenserving the client. Subscriptions may include client subscriptions tocommunication-center provided material as well as to materials providedby other sources. Product updates may include requests to addnotifications of when new or newly enhanced products offered by thecommunication center are available. Frequent client editing and additionof new data through category 133 is expected.

In the View Status section of interface 125, element 135 enables clientaccess to personal interaction history as previously described.Subcategories of category 135 represented herein include a date of lastinteraction, an update option, and a cancel option. Information accessedthrough interaction within category 135 is compiled over time and ispersonalized to the client. Such available history data may includeseparate interaction records pertinent to separate communicationmediums. Interaction records may be further divided by product, agentinteracted with, and so on. Moreover, interaction with automated systemsof a communication center may be included. In one embodiment, a clientmay be provided with various options for ordering interaction historyrecords. For example, a client may order a combined record including allcommunication-center interaction presented according to data and time.In another embodiment, partial records may be ordered through a searchfunction (not shown) provided in interface 125. There are manypossibilities.

Element 137 pertains to communication center status reflectinginformation pertinent to a client when desiring contact with an entityof a communication center. It is noted here that a client may access andview agent status without initiating a contact event. However, in someembodiments, a client may submit an instant message summarizing anintent of a pending communication event whether it will be initiated bya client or by an agent calling the requesting client. Subcategoriesrepresented herein include calls holding, agents available, estimatedhold time, and submit call back request. These and various otheravailable options provide information for the client relative to thestatus of the communication center, and availability of services beforeconnecting to the communication center or requesting a contact eventfrom the center.

It will be apparent to one with skill in the art, that there may be morecategories and subcategories described in interface 125 withoutdeparting from the spirit and scope of the present invention. Theinventor has outlined basic categories and basic subcategories and deemsthem sufficient for illustrative purposes. Furthermore, as aninteractive interface, it may be assumed that appropriate secondaryinterfaces will display for clients interacting with interface 125 suchthat selective viewing, data entry, editing, and so on may beaccomplished. Such secondary interfaces may be linked to each categoryand subcategory through hyper linking or other known methods.

It will be apparent to one with skill in the art, that the method andapparatus of the present invention may be applied to a variety ofconnection scenarios without departing from the spirit and scope of thepresent invention. Similarly, the software of the present invention maybe provided in a variety of functionalities ranging from an extendableapplication program interface (API) to an existing instant-messagingservice to a fully functional server-driven service applicationincluding client-side and server-side components.

It will also be apparent to one with skill in the art, that instantmessages, following standard instant message protocol, can be propagatedback and forth between subscribing agents and clients without departingfrom the spirit and scope of the present invention. In addition toinstant messaging, status alerts may take the form of pager messages orother types of known alerts when a client status is determined to beoff-line. In addition, multiple protocols may be used, including IMPP,HTTP, WAP, and other known protocols, either alone or in combination.

Communication-Center Management Using IMPP

According to another aspect of the present invention, IMPP is usedwithin a communication center for state management and other typical anda-typical center functions. The method and apparatus of the invention isdetailed below.

FIG. 10 is an architectural overview of a communication center 1003enhanced with presence detection and reporting according to anembodiment of the invention. Communication center 1003 represents astate-of-art center operating according to dual capabilities ofprocessing COST communication events and multimedia IPNT communicationevents. In one embodiment however, center 1003 may be a pure IPNTcapable center. In this example, center 1003 is part of a preferredcommunications network 1000 that includes a COST network 1001 and adigital network 1002 through which clients of the center 1003 gainaccess to offered services of the center.

Center 1003 may be assumed to have all of the presence capabilitiesdescribed with reference to center 21 of FIG. 8. That is to say thatclients may monitor presence information of entities including agentswithin center 1003 and agents may monitor presence information aboutclients accessing the center enabled by the equipment and softwareillustrated in that example.

COST network 1001 may be any type of telephony network as known in theart. In a preferred embodiment, a PSTN network is illustrated because ofits high public use characteristics. Network 1001 will hereinafter bereferred to as PSTN 1001. Digital network 1002 may be any type ofdata-packet-network known in the art such as a private WAN, corporateWAN or public WAN. In a preferred embodiment, digital network 1002 isthe well-known Internet network and will be referred to hereinafter asInternet 1002.

A local telephony switch (LSW) 1004 is illustrated within PSTN 1001 andrepresents a telephony switch local in the network to center 1003. LSW1004 represents a last routing point in PSTN 1001 for COST communicationevents destined for routing to center 1003. In this embodiment, LSW 1004is CTI enabled by virtue of a connected processor 1008 running CTItelephony software and an instance of Instant Message and PresenceProtocol (IMPP). Processor 1008 may also contain software for voiceinteraction with customers (IVR software) as well as routing softwareproprietary to center 1003.

LSW 1004 has connection to a telephony switch 1007 illustrated withincenter 1003 by virtue of a telephony trunk or trunks 1006. Switch 1007is referred to herein as a central switch (CSW) of center 1003 and willhereinafter be referred to as CSW 1007. CSW 1007 represents a finalrouting point within center 1003 for incoming COST events from PSTN 1001before internal routing to an agent or system for call resolution. CSW1007 is CTI enabled by virtue of a connected processor 1011 running aninstance of CTI telephony software and an instance of IMPP. Processor1011 may also have additional software conventions as mentioned in thedescription of processor 1008 above.

Processors 1008 within PSTN 1001 and 1011 within center 1003 areconnected for data communication by a data network link 1024. In thisway certain routing rules and protocols, including IMPP may be extendedfrom center 1003 into the level of the PSTN network wherein selectedtelephony switches may be controlled in terms of interaction withclients attempting to reach center 1003 as well as event handling ofthose interactions. Thus, data about calls and call originatorspertinent to calls waiting for transfer from switch 1004 to switch 1007can be passed ahead to center 1003, in many cases to the final routingpoint or destination of the call for preview before the actual eventarrives.

Internet 1002 has a backbone 1009 illustrated therein and extendinggeographically there through. Backbone 1009 represents all of the lines,equipment, and connection points making up the Internet network as awhole. A network server 1005 is illustrated within Internet 1002 and isconnected to backbone 1009. Server 1005 is adapted to serve electronicinformation pages, in the case of the Internet, Web pages in HTML andother types of suitable and known markup languages applicable to avariety of Internet access devices (client devices not shown). Server1005 represents an access server maintained on Internet 1002 and hostedby center 1003.

Clients operating Internet capable devices may access center 1003through server 1005 and an Internet access line 1010 set up between anillustrated Internet protocol router (IPR) 1014, maintained withincenter 1003 and sever 1005. IPR 1014 is adapted as a data routing serverand routes events including all types of multimedia sessions toappropriate agents and systems working within center 1003. IPR 1014 isIMPP-enabled as suggested by label.

Communication center 1003 has a local area network (LAN) 1022 providedtherein for center system and member (agent) connectivity requirements.LAN 1022 may be assumed to be adapted with all of the appropriateprotocols supported within Internet 1002 including TCP/IP and so on. LAN1022 is directly connected to IPR 1014 and serves as a routing conduitfor data events routed to systems or agents from router 1014.

Agents are represented in this example by illustrated agent workstations1015 and 1016. Each workstation 1015 and 1016 contains, at minimum, aLAN-connected PC and a COST telephone (illustrated by appropriate iconswithin each station). Telephones in each station 1015 and 1016 areconnected to CSW 1007 by way of internal COST telephony wiring 1013. PCsillustrated within station 1015 and 1016 are LAN connected. In thisexample, agents take COST calls using a typical telephone and IPNTevents are LAN-delivered to agent PCs. Digital data associated with COSTevents is LAN-delivered to agent PCs ahead of ringing events.

In another center station architecture known to the inventor, IPtelephones replace COST telephones and all COST events are converted todata-packet-events before final routing to agents. In this case the IPphones are LAN-connected, or PC connected through soundcard installationprocedures known to the inventor. Illustration of both COST and IPMNTcapability with respect to center 1003 is for discussion purposes tomore clearly describe the invention.

Each agent station 1015 and 1016 is enabled to support IMPP protocol.This may be accomplished in a conventional sense through known softwareapplications or through proprietary presence applications. IMPPapplications within stations 1015 and 1016 are accessible throughinterface using PC monitor and keyboard function as is well-known in theart.

Processor 1011 has a direct LAN connection and may be accessed andprogrammed or updated through LAN networking. Agent groups operating inconcert with each other or one or more systems (automata) can beconfigured for LAN connection as destination points for both COST andIPNT-type access initiated by clients or other internal communicationcenter entities whether human or machine. Such a group or systemimplementation is illustrated herein by a LAN-connected block 1017labeled Groups/Systems. Groups/Systems 1017 is IMPP enabled similarly toother previously described communication center entities.

A state server 1019 is provided within center 1003 and connected to LAN1022. Server 1019 is IMPP-enabled and is adapted to serve current dataregarding resources of the center and for synchronizing data withvarious systems. A data store 1023 is illustrated as connected to server1019. Data store 1023 stores resolute information about agents and/orsystems operating within center 1003. The information ispresence-reportable information including particular state informationblocks associated with database tuples with resolution down to real-timestatus snippets of agents and systems as may be affected by ongoingcenter activity.

In this example, a remote agent 1018 is illustrated outside of immediatecenter domain such as outside of an assigned workstation, but has awireless connection 1021 to LAN 1022 that enables limited databaseaccess and therefore limited skill availabilities that would otherwisebe available. Agent 1018 is IMPP-enabled and may be operating a cellulartelephone, a personal digital assistant (PDA) or another network-capabledevice.

In practice of the invention, agents, systems, and groups can spawngeneration of presence information models specific to targeted entities.The information is updated and stored as database tuples and stateinformation blocks related to availability states of database supportedskills and accessible media types that may be affected by activitystates of an agent or system within center 1003 or external from thecenter but connected to the center network through a remote device. In apreferred embodiment the method of the present invention includes accessto tuples and their current states for agents seeking information aboutother agents, clients seeking information about agents, clients oragents seeking information about systems, systems seeking informationabout clients, and systems seeking information about other systems.Information sharing between the just-described entities is accomplishedusing instant message and presence protocol. Some calibration isrequired if known IMPPs are employed in order to tune the protocol tothe schema used to organize database tuples and their various possiblestates. In another embodiment, a proprietary protocol can be providedthat is constructed around the parameters of database architecture andcenter activity protocols.

FIG. 11 is a block diagram illustrating function between software andhardware components of the system of the invention. In a preferredapplication of the invention, a principle 1101 is presented herein asterminology equated by the inventor to a requesting user. Principle 1101may be a single user such as an agent, client or single machine (system)or application. In another embodiment, principle 1101 represents a groupof agents or more than one system, application or perhaps a clientgroup.

When principle 1101 needs to obtain current information about anotherentity or principle within the system it initiates an activity 1102 thatspawns a software agent 1103. Software agent 1103, also termed useragent, is a software gopher that has access through various links tosystem information and can return that information to principle 1101.

User agent 1103 initiates a request/response activity 1104 to whatevertarget principle 1101 it is seeking information about. For example ifprinciple 1101 is an agent of the center and he or she is seekingredirection information about a second target agent in the system thenuser agent 1103 will endeavor to obtain and return that information. Asoftware form termed a presentity by the inventor and given the elementnumber 1105 is spawned through activity 1104 initiated by agent 1103.Activity 1104 may be a targeted request/response activity. In some casesactivity 1104 includes a search function that locates a target principleand confirms an up state of the entity within the system beforerequesting information.

Presentity 1105 has many aspects to it. In a preferred embodimentpresentity 1105 is a generic faun or model and is unique to a particularcenter entity only after it is populated with data. Presentity 1105 maybe thought of logically as a picture or object model of a presence datareport about a center entity. For example, presentity 1105 owns apresence 1109, which is a confirmation of the existence of an activepresence summary associated with a principle. If the principle inquestion is not operational or logged into the communication centersystem, then presence 1109 would inform of unavailability status or (notcurrently logged in).

Presentity 1105 also owns all of the current information illustratedherein as presence information 1106 associated with presence 1109.Presence information 1106 has all of the appropriate presence tuples(database blocks) 1107 that are current for any given period of time ofaccess and reporting of the information.

Individual tuples 1107 each have one or more state data blocks 1108associated therewith that are data snippets that help completelydescribe the current state of any given tuple of presence information.State blocks 1108 may be thought of as properties associated withindividual tuples 1107. Aggregation and construction of all of stateblocks 1108 and tuples 1107 complete a presence information modelrepresented as presence information 1106. Therefore, any change in stateinformation of a tuple changes the tuple, which in turn changes thepresence information model 1106 of presentity 1105. IMPP is used in thisexample as the messaging protocol for data synchronization required toprovide most recent real-time snapshots of presence information 1106.

Presentity 1105 as a form is continually updated in real time by datasynchronization as described above. IMPP synchronization is performed bya monitor 1110 and/or by a global presence entity 1111 between aprovided data store 1112 with server capability and presentity 1109.

In one embodiment, as principles log into the communication centersystem of the invention, their current states are first reported andstored in data store 1112. After initial login, a given principle'sactivity and therefore availability states will begin to change andevolve over time. For example, if a principle is an agent working in thecenter, he or she may begin the day by answering e-mails. Therefore theprinciple's activity states reflected by presence information 1106 mayshow that the principle is currently unavailable for COST communication,is available for IPNT communication including e-mail, and has fullaccess to customer information systems, multimedia, etc. Therefore, theskills of the principle are fully enabled except for COST communication.

In the above-case scenario IMPP reporting mechanisms at the agent'sworkstation can be activated to report state changes as they occurchanging presence information model 1106. Such reporting mechanisms canbe aggregated in an IMPP display set up on the desktop computer and mayreport as events occur (event driven) or may be monitored for changebased on a pre-determined periodic interval. In such a display, all ofthe agent's media and communication components are represented asdomains in control of the agent. The agent may, in some cases beresponsible for manually changing state of a domain by signing out of aqueue and working e-mails instead of answering calls or, perhaps, bylogging out of the system when leaving his or her work station and soon. In other embodiments automated detection mechanisms may be employedwithin the operational software of each communications medium or domainto determine current state of activity within the specific domain.

In the case described above, presentity 1105 may be maintained in memoryat a workstation or system memory (automata) or in a central database.In this case presentity 1105 has the state changes first as a result ofdriving events (agent activity). The updates to presentity 1105 can becommunicated to data store 1112 through monitor 1110 or global presence1111 for tracking purposes and to perform computations related to agentaccessibility (full, partial, or none) to a full range of skillssupported by data store 1112 based on results gleaned from presentity1105.

In one embodiment a requesting principal may first access data store1112 to enquire current status of another principle. In this casemonitor 1110, also termed a watcher by the inventor, or global presenceentity 1111 would access the appropriate presentity 1105 and upload themost recent information to the database. It is noted herein that it isnot necessary to continually update and report an entities currentpresence information if there are no events that result in a need forthe updated information. If an event does occur all updating andsynchronization of data with a data store can be performed at the timeof the request. For example if the target principal is an automatedoutbound dialing system restricted by a number threshold of outboundcalls in queue, then the current updated state of number of calls leftin queue can be synchronized to the data store when an event occurs thatrequires the information. The presence model for the system can begenerated on the fly. In this way unnecessary database writes andsynchronization operations are eliminated.

In a preferred embodiment, as events occur requesting any givenprinciple's presentity operating within the system domain any updateddata newer than data of a last access are synchronized to data store1112, which may then compute and add some new availability information(state) based on the current state of events so that a requestingprinciple may simply access the appropriate presentity to obtain theupdated information.

Using the system of the invention, state information can be gleaned frompresentity 1105 as it occurs. The state information can be used todetermine routing routines, choice of media in communication, queueplanning, system initiation, resource allotment, load balancing, andother communication center functions. Traditional telephony and IPNTsoftware applications can obtain updated presence information from datastore 1112 without any modification required. Furthermore, certainspecific principals that may be interleaved in one or more communicationcenter activities may access each other's presentity models directly forresolving internal communication-center issues that do not require eventrouting or other normal treatments. An example would be a single agenttransfer to another agent such as a supervisor. Before initiating thetransfer the first agent may, from his or her desktop, access thepresentity of the supervisor and make a determination of whether toproceed with the transfer based on the returned information. Even inthis case, the presentity information may be synchronized with the datastore to enable computation and return of additional data to the modelabout resources that based on the information in the model may be fully,partially, or non-available to the supervisor at the time of transferdepending on the activity state of the supervisor. The transferringagent can, after accessing the information, make an informed humandecision as to whether or not the transfer is likely to be of help tothe client.

In one embodiment, a principle such as an agent may be logged into thecommunication center system (LAN) using a device that is not capable offull database access. While he is not at his station, he or she is notcompletely logged out of the system because there is still someavailability at some functional level. In such a case, his presentitymodel will reflect that he is away from his workstation but is answeringhis cell phone and has limited access to the database through aLAN-connected PDA.

By accessing his presentity information, routing software (as anaccessing principle) can be set up to route only calls destined to thatparticular agent that are waiting in queue wherein such calls can besuccessfully resolved given the agents current means of communicationand limited accessibility to the database. Those calls in queue waitingfor that particular agent wherein full customer service and productsupport are required to facilitate successful resolution can bere-assigned to another agent whose presentity shows full skillavailability.

One with skill in the art will appreciate that IMPP can be used ascommunication between all center members whether human or no or whetherthey are aggregated as groups or not. Members can include databasesoftware and traditional communication-center functional applicationslike routing software, tracking software, queuing software, and thelike. Using IMPP with database resolution down to individual stateblocks enables an accurate and current picture of activity state andavailability of any given communication center principle. Instantmessages propagated back and forth between entities can be responsenotifications based on requests of a principle, or pushed as periodicstatus change notifications to a monitoring application. For example, asa principle evolves in activity state, each actual state change can beconsidered an event in an event-driven system such that a currentpresence report is always immediately available. Accessing the presenceinformation is also event driven. For example, if there are no requestslogged or active within the communication system dealing with aparticular principle, then there is no activity spawned to accessinformation about the principle. This concept is event-driven access. Anexample of events in this case would be a number of calls waiting inqueue for a particular agent. Each call as it comes up for treatmentwill be an event that spawns activity, for example, of a routingapplication to request and obtain most recent presence information onthe agent before final routing determination.

In one embodiment, the system of the invention can be used as an eventdriven notification system to report state changes resulting fromcomponents that have failed or are down for maintenance. For example, ifa principle is an e-mail server wherein a portion of mails designatedfor center processing require automated e-mail responses, and theautomated response server is down for repair, then the presenceinformation of that response system will be reported as down and themails may be directed instead to live agents assigned to take over forthe down machine.

The method and apparatus of the invention can be applied to any type ofcommunication center that supports digital processing and communication.Applicable networks include the Internet, Ethernets, WANs, LANs andproprietary networks. Resolution of COST events in a CTI sense can bedirected according to presence reporting in terms of routing, queuing,data forwarding, automated response, creative interaction through IVR,and so on.

In one embodiment, a COST event may trigger presence informationreporting that results in a creative IVR interaction informing thecaller that the agent he is trying to reach can take the call on a cellphone outside of the center and has limited access to order information,would this state still be acceptable or do you wish to transfer toanother agent with access to a full skill set?

IMPP for Queue Processing and Resource Allocation

In another unique aspect of the present invention, IMPP or anothersuitable presence protocol (PP) is used for interacting with a mastervirtual queue and using information from the queue to plan resourcesrequired to optimally handle the queued events.

FIG. 12 is a block diagram illustrating a multimedia communicationcenter 1200 including a queuing and routing system according to anembodiment of the present invention. Multimedia center 1200 is analogousin most respects to multimedia communication-center 1000 of FIG. 10,with an exception of how incoming events are processed in queue and whatresources are used for final destinations for event routing within thecenter.

Center 1200 has a LAN 1206 operational therein and adapted for fullmultimedia event delivery and full Internet protocol support includingIMPP protocols. LAN 1206 connects communication center resources fordata access and share as well as providing a conduit for center/clientcommunication over a wide variety of media types.

In this example, there are 2 illustrated resource groups connected toLAN 1206. These are group 1 and group 2. Groups 1 and 2 may be humanagents working in the center or they may be automated systems or acombination of agents and automated systems. For the purpose ofdiscussion, it will be assumed that groups 1 and 2 are organized asseparate resource groups such as, for example, a customer accountmanagement resource (assume group 1) and a technical support resource(group 2). One with skill in the art of resource management willappreciate that in actual practice combinations and groupings of centerresources are virtually unlimited in description and allocation.

In the case of live agents and following the example presented herein,group 1 consists of a plurality of LAN-connected agents that arededicated to helping clients with their account information such asbilling questions, collection operations, new account set-up, takingorders, and so on. Group 2 consists of a plurality of live agentsdedicated to provision of technical support, trouble-shooting, and thelike in this example. Each agent in both groups 1 and 2 may be assumedto be stationed in a LAN-connected workstation having, at bare minimum,a LAN-connected PC with a video display unit (VDU). Other types ofequipment not shown such as IP telephones, fax machines, mobile devices,pagers, and so on may be present and may compliment agent capabilitieswithin and externally from any given stationary workstation.

Communication center 1200 has a multimedia-capable virtual queue 1201provided therein and adapted to receive tokenized information about realincoming events within the communication centers event-receiving andhandling (routing) system or systems. In this example, queue 1201 isillustrated as full of events A-N with events O, P, and Q in the processof being queued or just entering queue 1201. It will be appreciated thatevents A-Q may represent events of any type of media supported withincenter 1200 such as telephone calls, IP voice calls, e-mails, chatinitiation events, facsimiles, video mails, conference requests,IMPP-based communication events, and so on. Each represented event istokenized with selected information associated with the event.Information included in token representation of the events may includebut is not limited to event origination identification, routingdestination identification, media type identification, purpose-of-eventinformation and in some cases client presence information for call-backpurposes.

There may be a variety of priorities set within the domain of queue1201. Priority assignment may be based on any one or more of severalcriteria including media type, client identification, purpose-of-eventinformation, contribution value from the client, and other criteria.There are many possibilities. Queue 1201 is mixed in the sense thatrepresented events may include any or all media types supported bycenter equipment. Actual routing of events may be carried out bydifferent routing systems connected to real queues within the centerthat are represented by virtual queue 1201. Such sub-queues in apreferred embodiment of the invention take immediate direction fromdisposition of events within virtual queue 1201. For example, if thereare COST telephony events waiting at a queue associated with a centraltelephony switch and those events are represented in queue 1201, thenthe processing performed on the token events facilitates and orders therouting routines and system for making the connections to the finaldestinations, which could be COST telephones in agent workstations.

A virtual router 1202 is provided within center 1200 and is connectedfor event processing to virtual queue 1201. Like queue 1201, router 1202works with representations of real events and orders appropriate routerswithin center 1200 to route their media types according to determinationmade in conjunction with queue 1201. However, in one embodiment whereincenter 1200 is a pure IPNT center, router 1202 may be an actual IProuter and can route all events in a pure multimedia sense. In thiscase, all events are routed with notification over a LAN connectionillustrated between router 1202 and LAN 1206. Final destinations in thisexample are the connected agents organized in groups 1 and 2.

A T-server 1203 (which is a Computer Telephony Integration {CTI} server)is provided within communication center 1200 and is connected directlyto router 1202 and to LAN 1206. T-server 1203 executes all of therouting rules and routines required for successful routing of all mediatypes in this case. T-server 1203 may also have an external connectionto a similar server at network level such as within a telephony networkas described with reference to communication center 1000 of FIG. 10above. The connection between T-server 1203 and LAN 1206 enablesconfiguration and update of the server (via LAN) and extends routingroutine execution capability to individual agent desktop computers inone embodiment known to the inventor.

LAN 1206 also supports an agent workstation 1207 to be operated by asupervising agent (SUP). An agent at workstation 1207 has overridingcapabilities to perform resource allotment changes and otherconfigurations typical of resource management capabilities. In thisexample, it may be assumed that the supervising agent has set up theresource allocation parameters for groups 1 and 2. Therefore, ifnecessary, the supervising agent can change, modify and reallocate thoseresources. It is noted herein that the supervising agent has assigned alarger number of agents to perform technical support (group 2) and asmaller number of agents to perform account management (group 1). Thisdecision is primarily based on current event handling load in typicalcommunication center environments, and is determined after eventprocessing has occurred. In other words, in a very busy environment,supervisor 1207 is always playing catch-up to insure enough of the rightresources are available to handle the event load as it occurs.

A state server 1204 is provided within center 1200 and adapted to servereal-time state information about communication center resources. Stateserver 1204 is analogous to state server 1019 described with referenceto FIG. 10 above. Server 1204 is IMPP-enabled and is adapted to servecurrent data regarding resources of the center and for synchronizingdata with various systems. A data store for actually storing the data isnot illustrated but may be assumed to be present. Server 1204 servesresolute information about agents and/or systems operating within center1200. The information is presence-reportable information includingparticular state information blocks associated with database tuples withresolution down to real-time status snippets of agents and systems asmay be affected by ongoing center activity. Server 1204 has a direct LANconnection to LAN 1206 and has access to reporting mechanisms pertinentto each domain of each agent or system operating on LAN 1206.

A novel server 1205 is provided within center 1200 and adapted toprovide workforce management and planning (WFMP) services for center1200. Server 1205 will hereinafter be referred to in this specificationas WFMP server 1205. WFMP 1205 is IMPP-enabled and connected directly toqueue 1201, which is also IMPP-enabled, by a separate network 1208.During operation, WFMP server 1205 interrogates queue 1201 using aninstant message protocol about events represented therein. Each eventrepresented has a presence and property-state information associatedwith it. For example, a voice over IP call will have a media type, andorigination ID, a destination request ID, and state informationregarding the purpose of the event. Other types of events will havediffering presence and state information associated with them. Server1205 has the capability of aggregating all of the information for aportion of or all of queue 1201 in a single or in a series ofinteractions.

For example, one IMPP interaction between server 1205 and queue 1201 maybe used to obtain all of the pertinent COST event data represented inqueue 1201, while e-mail data may be communicated in a secondinteraction and so on. It will be appreciated that the contents of queue1201 are constantly changing with respect to the amount of unprocessedevents, their types and parameters. Therefore the frequency of access ofqueue 1201 from server 1205 is set at a relatively high level for eachmedia type represented.

WFMP software running on server 1205 also has data access to stateserver 1204. State server 1204, as previously described, serves currentstate data on the presence state and resolute activity states of all ofthe LAN connected agents and, in some cases automated systems. In thisexample, all of the agents in groups 1 and 2 have their presence andstate activity data published to server 1204 by push or pull method.WFMP server 1205 also has a direct LAN connection and can also, ifdesired, access agent presence and activity data via LAN.

WFPM server 1205 has additional data and communication access capabilityto T-server 1203 and to RTR 1202 via LAN 1206. WFMP 1205 is adapted toaccess and analyze needs and requirements associated with events inqueue 1201 and compare those findings with state data served by server1204 and formulate recommendations regarding near term resourceallocation to best handle the current events stacked in queue. Presenceinformation plays a large roll in enabling WFMP software to formulateaccurate real-time assessments of a current communication-center queuingand routing environment. Instant messaging is used as a medium ofcommunication between all involved components.

An example of a resource assessment and allocation recommendationagainst current queue requirements would be a case wherein WFMP serveraccesses queue 1201 via link 1208 and interrogates the queue for allwaiting events that require account management services provided byagent group 1. Assume that a current snapshot result of queue activityshows that events A-K are waiting for account services while events L,M, and N are waiting for technical service provided by group 2. For theinstant snapshot, it is noted that resources are not optimallyconfigured for working the queue.

WFMP 1205 accesses state of groups 1 and 2 after interrogating queue1201 from state server 1204. A comparative process begins within server1205 wherein near term needs (current queued event requirements) arecompared against resource availability and allocation parameters. WFMPdetermines during this process that more resources need to be divertedfrom group 2 in this case to group 1 to best handle the current load ofqueue 1201. A message is formulated within server 1205 containing theresource re-allocation recommendations and the message is sent, in thiscase to supervising agent 1207 over LAN 1206. The message is in apreferred embodiment an instant notification that informs the supervisorof a proposed action of diverting resources temporarily to help with theevents in queue that require account management services.

The supervising agent at station 1207 receives the message and can makethe appropriate resource allocation modifications through instantmessaging to individual agents of group 2 to break off and join withgroup 1. At a next interrogation interval, WFMP 1205 will perform a newassessment and recommendation sending the recommendation to thesupervising agent.

In one embodiment, certain simple resource allocation orders may beissued to target resources by WFMP software through server 1205 withoutsupervisor involvement. These may be automated resources such as routingsystems, interaction systems, or response systems, as well as live agentreassignment orders. It is noted herein that the allocation parametersof this example, group 1 (account management) and group 2 (technicalservice) is a simple example of allocating resources based on purpose ofincoming event. In other embodiments, resources may be allocated basedon other criteria such as media type required of incoming events,callback parameters for outbound dialing campaigns, and other mixes ofcriteria that may be represented by queue 1201.

In still another embodiment, presence information regarding live agentsmay be predicted by WFMP software by virtue of data access to individualagent schedules. For example, WFMP may drop agents from re-allocationrecommendations if those particular agents will be unavailable due toshift changes, vacation schedules, and so on. Moreover, some of thosesame resources may be reserved intelligently through a recommendation byWFMP that lunch schedules be delayed because of current workload.

In still another embodiment, WFMP may have limited access through LANconnection to agents that are not at their workstations such as remoteagents similar to agent 1018 described with reference to FIG. 10 above.In this case, the agent in question may be allocated to take calls forgroup 2 instead of group 1 because of access to technical knowledge andlimited access to account management service resources. Supervisingagent 1207 may configure T-server 1203 to route certain events to likeagents using their personal cell phones. T-server 1203 forwards thecontrol routine to Router 1202 to route the events.

In still another embodiment, threshold rules or constraints may apply toWFMP recommendations in order to lessen the frequency of resourcere-allocation recommendations received by supervising agent 1207.Thresholds may be constructed from possible queue states in terms ofcontent requirements and time waiting for events with no response. Forexample, in the first case using the simple example of groups 1 and 2, aresource re-allocation recommendation may not be issued until a snapshotof queue activity reflects an event-purpose shift from technical servicerequirements to account management requirements above a certainpercentage of events waiting. In the second case, the threshold forissuing a re-allocation of resource recommendation may occur only if theresource-starved events begin to breach a time threshold for waiting fora response. Once the time threshold is reported to be breached arecommendation to re-allocate resources is issued to add resources forthose particular events.

In yet another embodiment, statistical information resulting from actualtracking of queue and routing interaction over a particular time periodof a campaign may be used by WFMP to fine tune recommendations by usingprobability figures to anticipate incoming events predicting thequantity and nature of those events up to a specified window of timeahead of queue registration. Such probability statistics can begenerated from information accessed from a historical database and usedto help determine resource re-allocation recommendations. In this caseevents O, P, and Q would be anticipated by WFMP software andstatistically defined by probability factors.

One with skill in the art of intelligent routing and queue managementwill recognize that the method and apparatus of the invention provides amuch needed assistance in resource planning by pre-analyzing queuerequirements well ahead of required event processing and by sendingrecommendations to resource-responsible entities minutes before thoseresources are actually required. As a result, service optimization andevent-handling efficiency can be continually improved for clients of thecenter.

FIG. 13 is a process flow diagram illustrating basic steps of queueprocessing and resource allocation according to a preferred embodimentof the invention. At step 1300, WFMP software accesses acommunication-center master virtual queue (VQ) and reviews data aboutevents registered therein. Data about events includes but is not limitedto media type of event, event origination ID, event destination ID, andpurpose of event data. At step 1301, event requirements are determinedper event and sorted for priority. In this step processing is dependentin part of existing parameters and constraints set up by the hostingenterprise. In a media specific example where internal routing isdetermined only by media type, requirements may simply be media type anddestination ID per event wherein the data is quantified and sorted bynumber of events waiting of each type.

At step 1302, WFMP accesses and reviews presence and state activityinformation of the current allocated resources for handling the events.It is noted herein that both environments, the events in queue and thestate of resources allocated are evolving and changing as queueprocessing and routing ensues. Therefore, each transaction between WFMPand the queue and between WFMP and the resource presence and stateinformation provides only the most recent snapshot of each environment.In one embodiment, steps 1300 and 1302 occur simultaneously in amultitask scenario to optimize accuracy.

At step 1303, current presence and state information of allocatedresources is compared against near term event requirements of events inqueue to determine if a recommendation is necessary. In some cases, itmay be determined in step 1303 that no further action is required inwhich case the process resolves back to step 1300. It is noted hereinthat through various connections illustrated in FIG. 12, WFMP softwarehas informational access to all un-allocated resources. Therefore, thisknowledge is incorporated in step 1304 wherein WFMP software, ifrequired, generates a resource re-allocation recommendation based on themost recent information. In a preferred embodiment of the invention, therecommendation is in the form of an instant message notificationcontaining the data as an attachment or in the form body.

At step 1305, the resource recommendation is sent to a responsibleentity like a supervising agent responsible for configuring centerresources to respond to queued events. The recommendation may bereceived as an alert wherein the resources recommended for addition,subtraction, diversion, etc. are identified and known to be availableaccording to the recommendation. In one embodiment, the target is anautomated system instead of a live agent. For example, a communicationcenter may employ 2 automated e-mail response servers wherein only oneis currently allocated to process e-mails. A recommendation in this casemay simply be targeted to the off-line server with an order to power upand begin processing from the pool.

At step 1306 the resources are re-allocated according to the latestrecommendation. Depending on the time frame within the virtual queue,and perhaps any overriding priority considerations, resourcere-allocation may occur several minutes before the resources areactually required. The exact amount of lead-time will, of course, varyaccording to conditions. For an empty or starved queue, the system maynot be required at all. However, when the queue is near full andestimated waiting times are relatively high, then resource re-allocationcan be performed well ahead of time to help process the waiting eventsmore expediently.

It will be apparent to one with skill in the art that the process stepsdescribed in this example may be varied somewhat by subroutine and orderwithout departing from the spirit and scope of the invention. Forexample, at step 1306 the target entity responsible for resources mayoverride a recommendation and may elect not re-configure resourcesunless a more urgent recommendation arrives. Moreover recommendationsmay also be configured to provide dropped event probabilities and otherconsequence data if a recommendation is not initiated into an order.Further, it should be understood that the invention in some embodimentsis not limited to IMPP protocol, but other protocols may even be moresuitable than IMPP.

In one embodiment at step 1302, the presence and state information maybe reported directly to the WFMP server from individually monitoredresources so that it may have local data access to the most recentinformation. In another embodiment the server access a data store forthe most recent information as it is synchronized thereto periodically.In still another embodiment, an additional subroutine may be providedfor gauging one or more threshold levels applied to queue parametersbefore going ahead with preparation of a recommendation at step 1304.

Event Response Optimization

In another aspect of the present invention a software routine isprovided for optimizing response time for events waiting in queue thattypically have lower priority but could be processed in less time thanother higher-priority events. The routine can be inserted into theprocess for workforce management as a sub-routine. The methods andapparatus of the present invention are described in enabling detailbelow.

FIG. 14 is a block diagram illustrating a multimedia communicationcenter queuing and routing system 1400 according to embodiments of thepresent invention. System 1400 is similar in many respects to system1200 described with reference to FIG. 12 above. Some elements belongingto system 1400 were also illustrated in the example of FIG. 12. Thosecommon elements that are unchanged from their previous function anddescription retain the same element numbers and are not re-introduced.

System 1400 includes components that support dual capability incommunication center operation meaning that system 1400 queues androutes COST telephony and DNT telephony in a preferred embodiment.

System 1400 may be implemented within a communication center as is thecase in this example. Therefore system 1400 may be referred to ascommunication center 1400.

Center 1400 utilizes a LAN network 1206, which is enabled for IP/TCP/IP,IMPP, and other suitable protocols as was described with reference toFIG. 12 above. LAN 1206 supports other components and serves as arouting network as well as a node network for sharing information andfor entity to entity communication and interaction.

LAN 1206 supports group 1 and group 2, which represent agent and/orsystem-automated resources. Groups 1 and 2 may in one embodimentrepresent live agents having at minimum a computer station with VDU. Theexample described with reference to FIG. 12 above may also apply in thisexample including communication equipment options that agents from group1 and 2 (if live) may have at their disposal.

In this example, both virtual queuing technology and real queuingtechnology is represented. For example, a multimedia virtual queue 1401is provided to system 1400, in one embodiment, and adapted to receivetokenized events that represent real events that have arrived in othersystem queues. Queue 1401 is analogous in this embodiment to queue 1201described further above in that there may be any priority schemeimplemented ranging from simple FIFO to skill-based, predictive based,or other known routines that have already been described. As is the caseregarding queue 1201 of FIG. 12, queue 1401 is illustrated as havingmultimedia mixed events processed therein. Each single event is assigneda letter in this example. Therefore, events A-N are resident in virtualqueue 1401 and events O, P, and Q are just in the process of enteringqueue 1401. Multimedia events A-O may be of any of the types previouslydescribed above.

In another embodiment of the present invention, queue 1401 may be a RealMaster Queue as optionally labeled. For example, queue 1401 may be amaster telephony queue for queuing COST events. Queue 1401 mayalternately be a master queue for queuing e-mail events or other DNTevents including IMPP events. In still another embodiment, queue 1401may be a master queue that holds a mix of differing types of DNT events.The term master as applied to a queue in this specification implies thatthere are other queues that are accessible to queue 1401 whether queue1401 is a virtual or a real queue. It suffices to say that the methodsand apparatus of the invention are not limited to queue type or contentwhether virtual or real.

In this example, a central telephony switch 1405 is illustrated withincenter 1401 and is adapted to receive all COST telephony events thatarrive at center 1401 over an illustrated telephony trunk 1411. Switch1405 may be a PBX, ACD, or other type of known telephony switch. In thisembodiment, switch 1405 has a COST queue 1406 provided therein andadapted to queue incoming COST calls that are destined for one or moreresources represented by group 1 or group 2.

Telephony switch 1405 is, in this embodiment, CTI-enhanced by a CTIprocessor 1410 connected thereto by a CTI link. Processor 1410 providesrouting intelligence to switch 1405 by way of a Transaction Server (TS)application known to the inventor and described with reference toT-server 1203 of FIG. 12 above. However, in this case TS is providedwith an IVR application on one machine, namely processor 1410. Processor1410 may also be connected by a separate network illustrated herein asnetwork 1409 to a similar processor connected to a network level switchfor the purpose of providing intelligent agent-level routing at networklevel. Network 1409, in that case, is adapted to deliver informationabout a COST call and caller digitally to processor 1410, which can passthe information on to a final destination (Group 1, Group 2) over LAN1206 by way of a LAN connection as illustrated herein between the justmentioned entities.

Switch 1405 is connected to individual agent telephones assumed presentin this example by way of internal telephony wiring 1412 leading to bothresource groups 1 and 2. Processor 1410 has a token generator engineprovide therein and adapted to tokenize each arriving COST call so thatthe call can be represented within queue 1401 and handled in a virtualsense. Processor 1410 tokenizes each incoming event and sends the eventtoken or information over a digital connection labeled COST Eventsherein to queue 1401 to mix with other tokens representing DNT events.

An IP router 1408 is provided within center 1400 and adapted to receiveevents by way of a network access pipeline 1412, and to route allarriving DNT events to their final destinations. DNT events may includeIP telephone, E-mail, IM, IMPP, IP Fax, IP Chat, and other IP eventsthat use shared bandwidth. IP router 1408 has real queues in a queuingsystem 1407 associated therewith and adapted as real queues for eachtype of DNT media represented. In this exemplary embodiment there is areal queue for e-mail, IP-voice, IP chat, IP-Fax, and IM. When a DNTevent arrives at router 1408, it is deposited in the appropriate realqueue of queuing system 1407 according to media type. In otherembodiments, DNT event routing and queuing systems may be still furthersegregated as to be individual to a single or few media types. Theinventor illustrated one router and one connected queue system for easeof description of the present invention only.

Queuing system 1403 has a token generator provided thereto for thepurpose of tokenizing events deposited in queuing system 1407. When aDNT event arrives and is queued in one of the queues of system 1407,then a token is generated that represents the event and the token issent to queue 1401 and deposited therein as illustrated. In this way allof the events being handled within center 1401 can be pre-processed andqueue-managed in one container by one management system. It is notedherein that if queue 1401 is a real master queue or simply a mediaspecific real queue, then token generators are not required. The generalmethod of the present invention applies to both virtual and real queuingembodiments in different applications.

In this dually-capable embodiment, virtual queue 1401 represents all ofthe events that are waiting for processing and internal routing withincenter 1401. Center 1401 has a WFMP server 1402 provided therein, whichis essentially identical in basic function as was described above withreference to the example of FIG. 12 and accompanying description. Server1402 is enhanced in this embodiment with an estimated disposal time(ETD) scanning application 1403, which is adapted to access queue 1401and determine if there are any low priority events that could beresolved very quickly within the system.

Application 1403 works in conjunction with WFMP software to furtheroptimize management of content within queue 1401. WFMP, for example,accesses queue content to determine if a resource re-allocation isappropriate to better and more expeditiously handle events in queuewhile EDT scanning expedites processing of lower priority events thatcan be handled swiftly without significantly taxing existing resourcesfrom responding to higher priority events.

Application 1403 has a direct connection to a rules base 1404 that isalso connected to LAN 1206. Rules base 1404 is adapted, in thisembodiment, to serve rules created for tokenizing different types ofmedia events according to what event-content and state matter that mayneed to be considered when trying to determine whether or not the eventcan be handled swiftly within the system. Rules to this regard will varyaccording to media type of event and will govern what specificinformation blocks from the actual event will be available in tokenform, in addition to the state information normally included in a tokenthat represents an actual event. For example, each token event hasminimally presence and property-state information associated with itincluding a media type, an origination ID and destination request ID,and state information regarding the purpose of the event. Token eventswill have differing presence and state information associated with themaccording to media type, priority assigned, and so on.

EDT application 1403 may rely on some of the normal data that is alreadypresent in token events like media type and purpose of eventinformation. Additionally, application 1403 is adapted to parse certaindata that may be added to the normal token information when the actualevent is first tokenized. It is logical to assume then that the processof token generation as practiced in this example by processor 1410, andby queuing system 1407 using generator 1403, is augmented by rulesstored in rules base 1404, which is accessible to both processor 1410and to system 1407 over LAN 1206. In another embodiment, direct networkconnections may be provided between the participating components toalleviate some LAN traffic.

To illustrate better the types of content that may be embedded into atoken and utilized by application 1403, assume that a media type e-mail,for example, has normal tokenized blocks, sender, recipient, time stamp,and subject line. Assume that the subject line reads, “request forinformation about computer product A”. Typically, the e-mail may receivea relatively lower priority than, for example, a purchase order readyfor processing. If that e-mail resides in queue 1401 along with asubstantial number of e-mails that are for purchase orders, then thoseof a higher priority may continually bump that particular e-mail.Application 1403 accesses queue 1401 and parses the token information ofthe e-mail and consults with rules base 1404. In the process,application 1403 determines that the e-mail requesting information canbe automatically handled in seconds by sending a quick response with anelectronic brochure attached. Application 1403 can reassign the priorityto high and can re-write any handling protocol for that e-maileffectively screening it for alternate automated processing and takingit out of the main queuing system.

Application 1403, in a preferred embodiment, accesses queue 1401periodically and processes a plurality of new incoming eventssimultaneously in batch operations. Parsing the token information foreach event enables the application to sort according to which events arelower priority events of what media types and or original destinationqueue assignments. From these events, further parsing determines whichof those events can be alternately processed or otherwise handledefficiently without causing latency to higher priority events. If,citing our previous e-mail example, there is no subject line, or asubject line that reads “request for information”, which is not productspecific, then application 1403 will require further information to beincluded in the token version of the event in order to consider it forevaluation. Therefore, when the e-mail is tokenized, generator 1403determines that some of the body of the e-mail message should beincluded in the token version to compensate for the lack of a subjectline or of a specific subject line that reveals a purpose for the event.In this way, application 1403 parses the included message content todetermine the purpose for the event.

In a preferred embodiment, EDT application 1403 uses IMPP protocol tocommunicate with queue 1401, which is also IMPP enabled. If normalpriority assignments are made during tokenizing, queue 1401 is, in oneembodiment, configured according to a priority threshold to report usinginstant messaging to application 1403 when there are a significantnumber of lower priority events in queue that should be accessed forprocessing according to EDT rules. In this case much sorting throughevents is eliminated.

Rules base 1404 is flexible in a preferred embodiment so as to providedifferent sets of rules for tokenizing different media types. Rules base1404 also contains rules that govern EDT thresholds that can verydynamically according to currently allocated resources. For example, ifa number of telephone calls having a low priority can be processed byplaying an automated statement containing a specific informationrequested, and the collective estimated time and resource to handlethose calls falls below a time and resource threshold value imposed onan IVR system then all of those calls can be promoted out of the mainqueue and can be immediately processed without conflicting with IVRinteractions of a higher priority.

The end result is that more interactions get processed in a shorteramount of time. Potential clients that originally expect to have alonger wait in queue are treated with a higher priority if their EDTvalues are acceptable to the system resulting in more satisfaction withservice and potential sales increases in new business. In the event ofdiverting some of the events to automated systems, agents have more timeto focus on the events that require their attention and do not have tomanually redirect so many events.

In an alternate embodiment, queue 1401 is not a virtual queue, but areal master queue as previously described. A real master queue, if a DNTqueue, can include most if not all DNT events supported by the system.In this case, queuing system 1407 may comprise specific agent queues,queues shared by agent groups, and specific system queues. No tokenizingor virtual queuing is required in order to practice the presentinvention. In the event that queue 1401 is a real queue, application1403 accesses queue 1401 as before and sorts events by media type andpriority and parses only those of a lower priority to determine if thoseevents can be handled swiftly according to EDT rules. Those events thatmeet the criteria are promoted to the agent/system specific queues aheadof some of the higher priority messages in a load-balanced fashion tominimize delay in handling of the higher priority events.

Parsing of events in a real master queue 1401 is still governed by rulesserved by rules base 1404. Those rules and methods of parsing dependlargely on media type represented in queue 1401. For example, if queue1401 is a COST queue, then it holds telephone calls, fax requests, voicemail messages, and other COST-dependant events. In this case,application 1403 can parse DNIS, ANIS, caller ID, destination ID, callpriority assignment, and call purpose data if previously solicited fromthe caller by IVR interaction. In a COST queuing embodiment certain datalike solicited information can be attached to the call as parse abledigital data. Also in this case COST queue 1406 may not be required andqueue 1401 would be, instead part of a telephony switching and routingsystem like switch 1405 and processor 1410. Application 1403 does notdetermine priority but can reassign priority if EDT values warrant sucha reassignment.

Types of criterion that might be developed and considered whenestimating a disposal time for an event include relatively simple staterepresentations such as, for e-mails or text messages, a shorter textbody contributes to a probability of faster processing than a long textbody (message size). Also whether or not the e-mail or text messageincludes an attached document can be considered. Message subject lines,IVR selections made, and interactive options selected can also be usedto estimate disposal time if those subject lines and selected optionsequate to known business processes conducted within center 1401.

Predictive analysis based on historical account can be used in somecases to predict EDT. For example, for an IP chat request, a historicalEDT average value of that request originator's past chat sessions can beused to predict a probable disposal time. If a particular clientexhibits a lower EDT average for chat sessions then he or she can berouted with a higher priority.

It is noted herein that some event types will have no specific priorityassignments. In this case, it is possible that application 1403 assignsan original priority state based on EDT. However, in a preferredembodiment, the goal is to alleviate the queue of persistentlow-priority messages that typically wait longer than othermore-important messages. Accumulation of such lower priority messagescan clog the queue and may begin to slow processing of the higherpriority events. The method of the present invention may be practiced,as well, on individual real queues in parallel without the presence of amaster queue. There are many possibilities.

FIG. 15 is a process flow diagram illustrating steps for practice of thepresent invention utilizing a virtual queue. At step 1500 incomingevents are received in queue. Step 1500 is an ongoing step and appliesto all supported media events received within the communications center.At step 1501 received events are tokenized and virtually queued in amaster virtual queuing system analogous to queue 1401 described withreference to FIG. 14 above. At step 1501 a rules base (illustrated inassociation with step 1501) analogous to rules base 1404 describedfurther above is consulted for the rules of tokenizing each type ofevent. Rules for each media type represented may very widely. IMPPprotocols may be used when creating a token event such that thereportable particulars used for EDT processing are contained in an IMthat can be accessed or sent to the EDT application for processing.Likewise, other standard machine languages can be used and attached toor integrated with event tokens. Furthermore, automated queue reportingcan be set up so that when a number of tokens fitting EDT criteria forprocessing accumulate in queue, the queue can report the status to theEDT application to initiate batch processing.

In this case, it is assumed that the EDT application will periodicallyaccess the queue to determine if there are any tokens meeting processingcriteria. Therefore at step 1502 a pre-scanner application accesses thevirtual queue for processing. At step 1503 the pre-scanner sorts thetokenized events having a suitable low priority and then scan them forcontent related to EDT possibilities.

At step 1504 for each token event the EDT application attempts todetermine if the event content meets queue priority promotion criteriafor quick resolution without taxing current resources. At this step therules base illustrated herein in association with steps 1501 and 1504 isconsulted. Each media type may have a separate set of rules for handlingaccording to stated purpose, which may have been added to the eventtoken during the token phase at step 1501. Step 1504 can be initiatedupon isolating a batch of event tokens with some tokens failing to meetcriterion and some tokens meeting the criterion.

For those tokens meeting the EDT criterion, the EDT application extractsthem from the virtual queue at step 1505 and re-assigns their priorityto a higher priority at step 1506 at which point the events may bere-deposited in the virtual queue and processed according to their newpriority states. In some embodiments, the EDT application also overridesthe handling instructions for those events according to preferredmethods known in the system. By extraction, it is meant that the EDTapplication accesses and takes write control over each event and notnecessarily removing the event from queue positioning. The token eventsthat fail to meet criterion at step 1504 are passed over and retaintheir original disposition instructions and priority states.

In a preferred embodiment of the present invention, the EDT applicationtags those events that have already been sorted and processed so thatupon a next access, the same events are not re-processed. Step 1502,1503, and 1504 is an ongoing loop wherein only those events that succeedin meeting EDT criterion are modified for quick resolution.

In one embodiment, the EDT application causes instant routing of anyevents that succeed in meeting EDT criterion for quick resolution. Forexample, a plurality of e-mail messages that can be easily handledautomatically and otherwise would sit in queue at a low priority can bediverted from human response procedure and instead be automaticallyprocessed. In this case, the EDT application sends an overriding requestto the routing system in charge of those e-mails, the request containingnew instructions for routing them to the appropriate automated e-mailresponse system. At the same time, the tokens representing those e-mailsare deleted from the virtual queue. The messaging from the EDTapplication host server to the routing system can be of the form of aninstant message requesting the alternate processing for the identifiedevents waiting.

WFMP software described with reference to FIG. 12 above uses EDT resultsas well in planning resource availability. For example, if the EDTapplication determines that a number of events of a particular mediatype can be handled very quickly by a specific automated system forexample, WFMP software can be notified to cause allocation of thedesired system resource to handle those particular events effectivelydiverting them out of the live-agent system.

One with skill in the art will recognize that the process stepsillustrated herein may vary somewhat in order and description dependingon particular application with out departing from the spirit and scopeof the present invention. For example, instead of batch processing asdescribed with reference to steps 1502 through 1504, the process may bepracticed per event. In this case EDT software would have constantaccess to the virtual queue and evaluate events as they arrive and arepre-assigned to destinations.

FIG. 16 is a process flow diagram illustrating steps for practice of thepresent invention utilizing a real master queue. At step 1600 incomingevents arrive within the communication center and are queued in a masterqueue. It is assumed in this embodiment that the master queue is a realqueue and that events will be promoted out of the master queue intofinal destination queues according to priority and availability. At step1601 the events in the master queue are sorted according to media typeand prioritized for normal handling according to routing rules thatapply.

At step 1602 the pre-scanner application accesses the master queue. Aswas described above with reference to step 1502, this step is periodicin a preferred embodiment. At step 1603 the pre-scanner evaluates eventsfor media type and content including priority assignment. In oneembodiment only low priority events below a certain pre-set prioritythreshold are evaluated eliminating the need for the pre-scanner toaccess every event in queue. In this embodiment, the master queue canreport to the EDT application when there are a number of events forevaluation.

From those events under evaluation, at step 1604 it is determined whichof those events meet or fail the EDT criterion for quick resolutionprobability. It is noted herein that some events will lend to acertainty result for quick resolution while others will lend only to aprobability result for quick resolution. At step 1604 a rules base(drawn in association with the step) is consulted for each eventevaluated. For those events that only a probability factor is producedit is possible that they will, in fact not be able to be quicklyresolved. The system makes an intelligent guess based on informationcontained in or associated with the event. For example, if the event isan IP telephone call from a certain repeat customer and in the past suchcalls were handled relatively quickly, then a probability value for aquick resolution would be generated.

At step 1605, those items that do not meet the EDT criteria for quickresolution are simply removed from consideration and preferably taggedas having been processed so that they are not re-evaluated. Those eventsthat do meet the criterion for quick resolution, in one embodiment arephysically extracted from the master or general queue at step 1606 andthen deposited at step 1607 into the destination-appropriate finalqueues for event handling. In this case, EDT actually distributes theevents to the final destination queues based on results of evaluationand immediate availability information regarding the final destinationqueues.

In another embodiment events are not physically extracted from themaster queue, but are re-assigned to the priority status that effectstheir promotion and subsequent distribution into the appropriate finaldestination queues for handling. As previously described, based onevaluation results per event, the EDT application can re-write thehandling protocol for an event and change the original destination queueassignment to a new assignment. An example would be to divert an instantmessage session request from one live-agent group operating a sharedqueue to an automated system queue where the instant message will beanswered by an automated response message effectively diverting orre-directing the event from one destination to another (internalre-routing).

In the event that a general master queue embodiment is practiced it islikely that there will be separate master queues, one for COST eventsand one for DNT events. In this case, the EDT application server wouldaccess both queues and process events there from simultaneously in amultitaskable fashion. It is important to note herein that EDT softwaremay, instead of periodic access ability, have constant access connectionto the master queue and may process events as they arrive instead of inbatch without departing from the spirit and scope of the presentinvention. Moreover, if priority assignment is practiced, the queue maybe configured to report which events queued were assigned a prioritylevel under a pre-set threshold for evaluation to EDT software. Suchreporting may be configured to occur when the queue has enough eventstherein to surpass a certain pre-set threshold of a number of eventshaving low priority. There are many possibilities.

FIG. 17 is a block diagram illustrating the pre-scan softwareapplication of FIG. 14 according to embodiments of the presentinvention. Application 1403 is described herein as an EDT applicationand in some instances as a pre-scanner application because of its mainfunction of pre-scanning real or token events for indication of quickresolution possibilities. Application 1403 has a plurality of modulesthat enable various scanning operations on token or real event data aswell as a number of system interfaces.

A virtual/master queue interface 1700 is provided to application 1403and adapted to enable application 1403 to access a main virtual or realdata queue for the purpose of processing events there from. Interface1700 can be a software interface or a hard-wired server port or othernetwork connection interface as required according to specific hardwarearchitecture used.

An agent/system queue interface 1702 is provided to application 1403 andis adapted to enable access to real queues, final destination queues,system queues, and any other queues held separately from master or mainqueues. Port 1702 is optional in that in one application events selectedfor promotion according to EDT criterion are re-assigned higher prioritylevels to induce quicker response, but are physically left in main orgeneral queues, virtual or real until such priority reassignments causeevent promotion (real) to final destination queues or final routing andhandling according to token progression (virtual) using normal systempaths.

An interface to a rules base 1701 is provided to application 1403 and isadapted to enable consultation with system and enterprise directed ruleswhich govern decisions made during evaluation of events or event tokensand, which may also be consulted during the token generation process ina virtual queue embodiment. Rules contained in such a rules base asdescribed above include those that might relate to probability of quickresolution according to certain discernable states. For example, a shorttext message with no attachment will receive a higher score than a longtext message including one or more attachments. An IP voice call placedfrom a later time zone may receive a higher score than one originatinglocally. Detection of the presence and availability of special resourceslike foreign language resources just coming on-line as identifiedthrough IMPP by WFMP software might precede an evaluation of likeforeign language-seeking events. In this case, the evaluated eventsreceive a higher score than English language requests because of theavailable resource for quick resolution.

There are many possibilities for rules creation, modification,management, and implementation. Some basic rules may cover simplecontent states such as included subject line (e-mails), stated purpose(IVR solicitation telephone), and so on. Implementation of these rulesmay be as simple as “immediately divert all ‘found’ e-mails waiting ofpriority lower than “6” containing subject line “request forinformation” from live agent handling to automated system response. Morecomplex rules are probability-based and may include accesses to otherdatabase information such as historical performance records. One exampleimplementation might be “re-assign priority from ‘5’ or lower to ‘9’ forall chat requests with a “historical EDT average” of lower than 6minutes. In this particular case, there may be some re-assigned chatrequests that will actually take more than 6 minutes to resolve. Howeverthe new time of resolution will be figured in to their historical EDTaverage figure to be considered the next time they log-in to a chatroom.

A module for event-type identification and sorting 1703 is provided toapplication 1403 for the purpose of identifying various different mediatypes of events and sorting them accordingly using a parsing engine1704. Engine 1704 is adapted to read from header information in a tokenor real event. Module 1703 interfaces with a master or virtual mainqueue through interface 1700. A module for event-type state evaluation1705 is provided to application 1403 and adapted to determine type ofevent or token event and current priority state assigned using a parsingengine 1706. Engine 1706 is adapted to read system-assigned state dataincluding routing information, origination information, and finaldestination information. Module 1705 interfaces with the main virtual ormaster queue through interface 1700.

An event content evaluation module 1707 is provided to application 1403and is adapted to read message, using a parsing engine 1708 contentincluding subject lines, selected body text, interaction result data,and any other parse able content data included in a token event orembedded in a real event. Module 1707 interfaces with a main or masterqueue in concert with the earlier described modules through interface1700 and also interfaces to a rules base through interface 1701 toaccess rules regarding priority state and found content. It is notedherein that modules 1703, 1705, and 1707 may be provided as a singleintegrated module using a same parsing engine without departing from thespirit and scope of the present invention. The inventor seeks tologically separate function only for illustrative purpose.

A priority configuration and event promotion module 1709 is provided toapplication 1403 and is adapted by way of a calculator 1710 to computeEDT probability factors or scores for token events or real events and toeffect priority reassignments and to initiate queue promotions (whererequired). Module 1709 has interface to a rules base through interface1701 and an optional interface to real agent and/or system queuesthrough interface 1702 in the event of direct queue promotion activitythat bypasses normal queue progression paths. Module 1709 considersinformation results provided by modules 1705, and 1707 to performper-event calculations to receive implementation results leading to anydirect actions that might be taken. Depending on rules, token or realevents may fail evaluation during evaluation by any one of the describedmodules. Likewise, an event or token event may succeed evaluation beforereaching the point of evaluation by module 1707 effectively bypassingevent content evaluation. In one embodiment, module 1707 is alwaysinvoked if prior evaluation fails to retrieve enough information toreach a decision. In this case content is parsed to gain the additionalinformation that may reveal a likely probability for short resolution.It will be apparent to one with skill in the art that the method andapparatus of the present invention can be distributed to more than onemachine having connection to the routing network without departing fromthe spirit and scope of the present invention. For example, modules 1703and 1705 may be provided as client reporting modules and integrated withqueue software and hardware. In this case, modules 1707 and 1709 mightform a parent application residing on a separate server connected to therouting network.

Likewise, there may be more interfaces to external information sourcesthan those illustrated herein. For example, an interface to a customerinformation system (CIS) server and/or to a historical database might beincorporated herein to enable application 1403 to consider otherinformation used to make decisions. This can be especially importantwhen one factor is a historical EDT average accessed and retrieved forpriority reassignment considerations.

The computing method of the present invention is in a preferredembodiment performed by algorithm including score calculation. There ismore than one computation method that might be used. For somesituations, a simple comparison of state information to applicable rulefor match will be sufficient for priority-reassignment. In more complexconsiderations, a series of scores for different blocks of parsedinformation can be calculated for each event and weighted against arules set to produce a final result that will determine if the event ortoken event will be priority-modified and, perhaps to what specificlevel of priority or promotion from a plurality of existing levels theevent or event token will receive.

In still another embodiment of the present invention, there is nooriginal priority assignment to queued messages. In this case EDTevaluations are performed on all queued messages no matter what thequeue status is and those that can be handled quickly are promoted firstto alleviate overall queue latency by processing those events that canbe handled easily and quickly without taxing normal agent responseresources.

The method and apparatus of the present invention has been demonstratedherein to have patentable weight in a variety of different embodimentsand therefore should be afforded the broadest possible scope underexamination. Only the claim language provided below limits the spiritand scope of the present invention.

1. A system for optimizing response time to events or representationsthereof waiting in a queue by predicting an estimated disposal time forcertain ones of those events comprising: a first server having access tothe queue; a software application running on the first server; and asecond server accessible from the first server, the second servercontaining rules governing the optimization; characterized in that thesoftware application at least periodically accesses the queue and parsescertain ones of events or tokens thereof contained therein at the timeof access and compares the parsed results against rules accessed fromthe second server in order to determine a measure of disposal time foreach parsed event and wherein if the determined measure is sufficientlylow for one or more of the parsed events, those one or more events aremodified to a reflect a higher priority state than originally assigned,or promoted directly out of queue, enabling faster treatment of thoseevents resulting in relief from those events to the queue system load.2. The system of claim 1 wherein the first server is a work forcemanagement and planning server enhanced with the addition of thesoftware application.
 3. The system of claim 1 wherein the queue is avirtual message queue for a communication center.
 4. The system of claim1 wherein the queue is a telephony queue.
 5. The system of claim 1wherein the software application includes at least one parsing enginefor parsing events.
 6. The system of claim 1 wherein the softwareapplication includes at least one additional interface to a historicaldata repository.
 7. The system of claim 1 wherein the rules governingthe optimization process include rules for generation of token eventsthat represent real events.
 8. The system of claim 1 wherein the dataparsed includes event type, event status in queue, event routinginformation, and event origination information.
 9. The system of claim 1wherein the data parsed includes event type, event status in queue,event routing information, event origination information, and eventpurpose information.
 10. The system of claim 8 wherein the data parsedfurther includes event content or a portion thereof.
 11. The system ofclaim 9 wherein the data parsed further includes event content or aportion thereof.
 12. The system of claim 1 wherein an original prioritystatus assignment of low below a certain threshold to a event orrepresentation thereof causes the event to be parsed.
 13. The system ofclaim 1 wherein the measure of disposal time determined is an estimatebased on known procedure for handling the event.
 14. The system of claim1 wherein the measure of disposal time determined is an estimate basedon historical averaging of previous measurements for the same originatorof an event of a same type.
 15. The system of claim 1 wherein eventsthat are modified to reflect a higher priority state are immediatelypromoted from the queue to an appropriate final destination queue. 16.The system of claim 1 wherein events that are modified to reflect ahigher priority state are immediately routed to their finaldestinations.
 17. The system of claim 1 wherein a measure of disposaltime is taken collectively for a number of events of a same media typeand summed as one disposal time for the sum of events or representationsthereof considered, the sum compared to available resource load beforepriority state modification to determine if those resources will beunreasonable taxed.
 18. A software application for optimizing responsetime to events or representations thereof waiting in a queue bypredicting an estimated disposal time for certain ones of those eventscomprising: at least one module for determining event type and eventstate of events or representations thereof; at least one parsing enginefor parsing event or represented event data; a calculator for weighingparsed results against pre-set rules; and an event modification modulefor changing event or represented event state; characterized in thatselected events or representations thereof are modified to reflect ahigher priority state and, in some cases, different routing rules,including direct promotion from queue, than those originally assigned tothose events due to a determination made that those selected events havea sufficiently high probability of efficient disposal in the systemaccording to an estimated time of disposal for each event orrepresentation thereof.
 19. The software application of claim 18 whereinthe queue is a virtual message queue for a communication center.
 20. Thesoftware application of claim 18 wherein the queue is a telephony queue.21-42. (canceled)